python opencv的cv2.drawKeypoints()函数详解

我用的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,他会以一种丰富的方式画出来,效果会好点。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值