mirror of
https://github.com/opencv/opencv.git
synced 2024-11-24 03:00:14 +08:00
moved matchesMask
This commit is contained in:
parent
008da75691
commit
dd72f2ec52
@ -1962,12 +1962,12 @@ This function draws matches of keypints from two images on output image.
|
||||
Match is a line connecting two keypoints (circles).
|
||||
|
||||
\cvdefCpp{
|
||||
void drawMatches( const Mat\& img1, const vector<KeyPoint>\& keypoints1,
|
||||
void drawMatches( const Mat\& img1, const vector<KeyPoint>\& keypoints1,
|
||||
const Mat\& img2, const vector<KeyPoint>\& keypoints2,
|
||||
const vector<int>\& matches, Mat\& outImg,
|
||||
const vector<char>\& matchesMask = vector<char>(),
|
||||
const Scalar\& matchColor = Scalar::all(-1),
|
||||
const Scalar\& singlePointColor = Scalar::all(-1),
|
||||
const vector<int>\& matches, Mat\& outImg,
|
||||
const Scalar\& matchColor = Scalar::all(-1),
|
||||
const Scalar\& singlePointColor = Scalar::all(-1),
|
||||
const vector<char>\& matchesMask = vector<char>(),
|
||||
int flags = DrawMatchesFlags::DEFAULT );
|
||||
}
|
||||
|
||||
@ -1995,10 +1995,6 @@ void drawMatches( const Mat\& img1, const vector<KeyPoint>\& keypoints1,
|
||||
\cvarg{outImg}{Output image. Its content depends on \texttt{flags} value what is drawn in output image. See below possible \texttt{flags} bit values. }
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\cvarg{matchesMask}{Mask determining which matches will be drawn. If mask is empty all matches will be drawn. }
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\cvarg{matchColor}{Color of matches (lines and connected keypoints). If \texttt{matchColor}==Scalar::all(-1) color will be generated randomly.}
|
||||
\end{description}
|
||||
@ -2007,6 +2003,10 @@ void drawMatches( const Mat\& img1, const vector<KeyPoint>\& keypoints1,
|
||||
\cvarg{singlePointColor}{Color of single keypoints (circles), i.e. keypoints not having the matches. If \texttt{singlePointColor}==Scalar::all(-1) color will be generated randomly.}
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\cvarg{matchesMask}{Mask determining which matches will be drawn. If mask is empty all matches will be drawn. }
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\cvarg{flags}{Each bit of \texttt{flags} sets some feature of drawing. Possible \texttt{flags} bit values is defined by DrawMatchesFlags, see below. }
|
||||
\end{description}
|
||||
|
@ -2139,9 +2139,9 @@ struct CV_EXPORTS DrawMatchesFlags
|
||||
// Draws matches of keypints from two images on output image.
|
||||
CV_EXPORTS void drawMatches( const Mat& img1, const vector<KeyPoint>& keypoints1,
|
||||
const Mat& img2, const vector<KeyPoint>& keypoints2,
|
||||
const vector<int>& matches, Mat& outImg, const vector<char>& matchesMask = vector<char>(),
|
||||
const vector<int>& matches, Mat& outImg,
|
||||
const Scalar& matchColor = Scalar::all(-1), const Scalar& singlePointColor = Scalar::all(-1),
|
||||
int flags = DrawMatchesFlags::DEFAULT );
|
||||
const vector<char>& matchesMask = vector<char>(), int flags = DrawMatchesFlags::DEFAULT );
|
||||
|
||||
}
|
||||
|
||||
|
@ -47,9 +47,9 @@ namespace cv
|
||||
|
||||
void drawMatches( const Mat& img1, const vector<KeyPoint>& keypoints1,
|
||||
const Mat& img2,const vector<KeyPoint>& keypoints2,
|
||||
const vector<int>& matches, Mat& outImg, const vector<char>& matchesMask,
|
||||
const vector<int>& matches, Mat& outImg,
|
||||
const Scalar& matchColor, const Scalar& singlePointColor,
|
||||
int flags )
|
||||
const vector<char>& matchesMask, int flags )
|
||||
{
|
||||
Size size( img1.cols + img2.cols, MAX(img1.rows, img2.rows) );
|
||||
if( flags & DrawMatchesFlags::DRAW_OVER_OUTIMG )
|
||||
|
@ -1,4 +1,3 @@
|
||||
//#include <cvaux.h>
|
||||
#include <highgui.h>
|
||||
#include "opencv2/core/core.hpp"
|
||||
#include "opencv2/calib3d/calib3d.hpp"
|
||||
@ -98,16 +97,16 @@ void doIteration( const Mat& img1, Mat& img2, bool isWarpPerspective,
|
||||
matchesMask[i1] = 1;
|
||||
}
|
||||
// draw inliers
|
||||
drawMatches( img1, keypoints1, img2, keypoints2, matches, drawImg, matchesMask, CV_RGB(0, 255, 0), CV_RGB(0, 0, 255) );
|
||||
drawMatches( img1, keypoints1, img2, keypoints2, matches, drawImg, CV_RGB(0, 255, 0), CV_RGB(0, 0, 255), matchesMask );
|
||||
// draw outliers
|
||||
/*for( size_t i1 = 0; i1 < matchesMask.size(); i1++ )
|
||||
matchesMask[i1] = !matchesMask[i1];
|
||||
drawMatches( img1, keypoints1, img2, keypoints2, matches, drawImg, matchesMask, CV_RGB(0, 0, 255), CV_RGB(255, 0, 0),
|
||||
drawMatches( img1, keypoints1, img2, keypoints2, matches, drawImg, CV_RGB(0, 0, 255), CV_RGB(255, 0, 0), matchesMask,
|
||||
DrawMatchesFlags::DRAW_OVER_OUTIMG | DrawMatchesFlags::NOT_DRAW_SINGLE_POINTS );*/
|
||||
}
|
||||
else
|
||||
{
|
||||
drawMatches( img1, keypoints1, img2, keypoints2, matches, drawImg, vector<char>(), CV_RGB(0, 255, 0) );
|
||||
drawMatches( img1, keypoints1, img2, keypoints2, matches, drawImg, CV_RGB(0, 255, 0) );
|
||||
}
|
||||
|
||||
imshow( winName, drawImg );
|
||||
|
Loading…
Reference in New Issue
Block a user