我用的python3.x,opencv3.x.官方文档里介绍cv2.drawKeypoints()函数主要包含五个参数:



* image:也就是原始图片
* keypoints:从原图中获得的关键点,这也是画图时所用到的数据
* outputimage:输出
* color:颜色设置,通过修改(b,g,r)的值,更改画笔的颜色,b=蓝色,g=绿色,r=红色。


* flags:绘图功能的标识设置,(可能标识的值由DrawMatchesFlags定义,具体的要看DrawMatchesFlags这个函数,c++里是这样
)。在Python里面标识由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修改im_with_keypoints =
cv2.drawKeypoints(im, keypoints, np.array([]), (255,0,0),
cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)

例子如上,这是我写的另一篇blob分析的一句,具体请看那篇博客。在这句程序里im是原图,关键点keypoints,输出放在了一个新建数组里,这里用的蓝色标定,具体按个人爱好。flags挺有意思,这是标识方式的一种设置,按字面意思,比如说用
cv2.DRAW_MATCHES_FLAGS_DEFAULT参数,表示用默认参数,这种方式比较简单,在我用blob画图的那篇程序中,仅仅画出了圆的中心点。但是如果用
cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS,他会以一种丰富的方式画出来,效果会好点。

*

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信