关于 cv2.drawMatches 函数部分,简要说一下
goodmatch_im = cv2.drawMatches(img_r,
keypoint_r,
img_l,
keypoint_l,
match,
outImg=None,
flags=4)
参数 | 含义 |
---|
img_r | 要匹配的第一张图 | keypoint_r | 其关键点 | img_l | 要匹配的第二张图 | keypoint_l | 其关键点 | match | 两者的匹配结果,之前可以用cv2.BFMatcher().knnMatch 来匹配 | outImg | 输出图片 | flags | 指定绘图的标志位 |
以上是基本用法,不过建议直接看文档: 一开始看,可能有些费劲,看个三四个习惯了,程序写多了,养成看文档的习惯就OK了
我很好奇这个 flag 到底是啥呀,中文博客也没说,我看一般就直接给 2 … 奶奶的,也不说一下
自己翻找了一下文档,原来在这里
0是默认,会把你的关键点都画上 2是只绘制对应的match里的点 4是,会把你的关键点都画上,但是是哪个圈圈和方向的样子(试一下你就知道了)
在Python 里是这几个:
cv2.DrawMatchesFlags_DEFAULT
Out[14]: 0
cv2.DrawMatchesFlags_DRAW_OVER_OUTIMG
Out[15]: 1
cv2.DrawMatchesFlags_DRAW_RICH_KEYPOINTS
Out[16]: 4
hai,说到底,还是看文档,要养成看文档的习惯
|