Drawing Function of Keypoints and Matches
cv::drawMatches
Comments from the Wiki
-
void drawMatches(const Mat& img1, const vector<KeyPoint>& keypoints1, const Mat& img2, const vector<KeyPoint>& keypoints2, const vector<DMatch>& matches1to2, Mat& outImg, const Scalar& matchColor=Scalar::all(-1), const Scalar& singlePointColor=Scalar::all(-1), const vector<char>& matchesMask=vector<char>(), int flags=DrawMatchesFlags::DEFAULT)
This function draws matches of keypints from two images on output image.
Match is a line connecting two keypoints (circles).
-
void drawMatches(const Mat& img1, const vector<KeyPoint>& keypoints1, const Mat& img2, const vector<KeyPoint>& keypoints2, const vector<vector<DMatch> >& matches1to2, Mat& outImg, const Scalar& matchColor=Scalar::all(-1), const Scalar& singlePointColor=Scalar::all(-1), const vector<vector<char>>& matchesMask= vector<vector<char> >(), int flags=DrawMatchesFlags::DEFAULT)
Parameters: |
- img1 – First source image.
- keypoints1 – Keypoints from first source image.
- img2 – Second source image.
- keypoints2 – Keypoints from second source image.
- matches – Matches from first image to second one, i.e. keypoints1[i]
has corresponding point keypoints2[matches[i]] .
- outImg – Output image. Its content depends on flags value
what is drawn in output image. See below possible flags bit values.
- matchColor – Color of matches (lines and connected keypoints).
If matchColor==Scalar::all(-1) color will be generated randomly.
- singlePointColor – Color of single keypoints (circles), i.e. keypoints not having the matches.
If singlePointColor==Scalar::all(-1) color will be generated randomly.
- matchesMask – Mask determining which matches will be drawn. If mask is empty all matches will be drawn.
- flags – Each bit of flags sets some feature of drawing.
Possible flags bit values is defined by DrawMatchesFlags , see below.
|
struct DrawMatchesFlags
{
enum{ DEFAULT = 0, // Output image matrix will be created (Mat::create),
// i.e. existing memory of output image may be reused.
// Two source image, matches and single keypoints
// will be drawn.
// For each keypoint only the center point will be
// drawn (without the circle around keypoint with
// keypoint size and orientation).
DRAW_OVER_OUTIMG = 1, // Output image matrix will not be
// created (Mat::create). Matches will be drawn
// on existing content of output image.
NOT_DRAW_SINGLE_POINTS = 2, // Single keypoints will not be drawn.
DRAW_RICH_KEYPOINTS = 4 // For each keypoint the circle around
// keypoint with keypoint size and orientation will
// be drawn.
};
};
cv::drawKeypoints
Comments from the Wiki
-
void drawKeypoints(const Mat& image, const vector<KeyPoint>& keypoints, Mat& outImg, const Scalar& color=Scalar::all(-1), int flags=DrawMatchesFlags::DEFAULT)
Draw keypoints.
Parameters: |
- image – Source image.
- keypoints – Keypoints from source image.
- outImg – Output image. Its content depends on flags value
what is drawn in output image. See possible flags bit values.
- color – Color of keypoints
|
.
Parameters: |
- flags – Each bit of flags sets some feature of drawing.
Possible flags bit values is defined by DrawMatchesFlags ,
see above in drawMatches() .
|
Help and Feedback
You did not find what you were looking for?