Drawing Function of Keypoints and Matches
Overview
// structs struct cv::DrawMatchesFlags; // global functions void cv::drawKeypoints( InputArray image, const std::vector<KeyPoint>& keypoints, InputOutputArray outImage, const Scalar& color = Scalar::all(-1), int flags = DrawMatchesFlags::DEFAULT ); void cv::drawMatches( InputArray img1, const std::vector<KeyPoint>& keypoints1, InputArray img2, const std::vector<KeyPoint>& keypoints2, const std::vector<DMatch>& matches1to2, InputOutputArray outImg, const Scalar& matchColor = Scalar::all(-1), const Scalar& singlePointColor = Scalar::all(-1), const std::vector<char>& matchesMask = std::vector<char>(), int flags = DrawMatchesFlags::DEFAULT ); void cv::drawMatches( InputArray img1, const std::vector<KeyPoint>& keypoints1, InputArray img2, const std::vector<KeyPoint>& keypoints2, const std::vector<std::vector<DMatch>>& matches1to2, InputOutputArray outImg, const Scalar& matchColor = Scalar::all(-1), const Scalar& singlePointColor = Scalar::all(-1), const std::vector<std::vector<char>>& matchesMask = std::vector<std::vector<char>>(), int flags = DrawMatchesFlags::DEFAULT );
Detailed Documentation
Global Functions
void cv::drawKeypoints( InputArray image, const std::vector<KeyPoint>& keypoints, InputOutputArray outImage, const Scalar& color = Scalar::all(-1), int flags = DrawMatchesFlags::DEFAULT )
Draws keypoints.
For Python API, flags are modified as cv2.DRAW_MATCHES_FLAGS_DEFAULT, cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS, cv2.DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG, cv2.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS
Parameters:
image | Source image. |
keypoints | Keypoints from the source image. |
outImage | Output image. Its content depends on the flags value defining what is drawn in the output image. See possible flags bit values below. |
color | Color of keypoints. |
flags | Flags setting drawing features. Possible flags bit values are defined by DrawMatchesFlags. See details above in drawMatches . |
void cv::drawMatches( InputArray img1, const std::vector<KeyPoint>& keypoints1, InputArray img2, const std::vector<KeyPoint>& keypoints2, const std::vector<DMatch>& matches1to2, InputOutputArray outImg, const Scalar& matchColor = Scalar::all(-1), const Scalar& singlePointColor = Scalar::all(-1), const std::vector<char>& matchesMask = std::vector<char>(), int flags = DrawMatchesFlags::DEFAULT )
Draws the found matches of keypoints from two images.
This function draws matches of keypoints from two images in the output image. Match is a line connecting two keypoints (circles). See cv::DrawMatchesFlags.
Parameters:
img1 | First source image. |
keypoints1 | Keypoints from the first source image. |
img2 | Second source image. |
keypoints2 | Keypoints from the second source image. |
matches1to2 | Matches from the first image to the second one, which means that keypoints1[i] has a corresponding point in keypoints2[matches[i]] . |
outImg | Output image. Its content depends on the flags value defining what is drawn in the output image. See possible flags bit values below. |
matchColor | Color of matches (lines and connected keypoints). If matchColor== Scalar::all (-1) , the color is generated randomly. |
singlePointColor | Color of single keypoints (circles), which means that keypoints do not have the matches. If singlePointColor== Scalar::all (-1) , the color is generated randomly. |
matchesMask | Mask determining which matches are drawn. If the mask is empty, all matches are drawn. |
flags | Flags setting drawing features. Possible flags bit values are defined by DrawMatchesFlags. |
void cv::drawMatches( InputArray img1, const std::vector<KeyPoint>& keypoints1, InputArray img2, const std::vector<KeyPoint>& keypoints2, const std::vector<std::vector<DMatch>>& matches1to2, InputOutputArray outImg, const Scalar& matchColor = Scalar::all(-1), const Scalar& singlePointColor = Scalar::all(-1), const std::vector<std::vector<char>>& matchesMask = std::vector<std::vector<char>>(), int flags = DrawMatchesFlags::DEFAULT )
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.