OpenCV-Python官方教程-26- ORB (Oriented FAST and Rotated BRIEF)

OpenCV中的ORB算法

我们必须创建一个ORB对象,通过函数 cv.ORB_create() 。或者使用 feature2d公共接口。它有多个可选参数。最有用的几个,是nFeatures,它表示要保留特征的最大数量(默认是500),scoreType 表示是在为特征点排序时,是要用哈里斯的方式来计分还是使用FAST算法来计分(默认是哈里斯的计分算法)等等。还有个参数,WTA_K 决定产生有方向的BRIEF描述符的每个元素点的数目。默认情况下是两个,因为两点决定一条线。这种情况下,使用汉明距离(译者注:NORM_HAMMING distance,汉明距离)用于匹配。如果WTA_K 是 3 或者 4,那就需要取3 或者 4 个点来产生 BRIEF描述符,那么匹配距离就被定义为二类汉明距离(NORM_HAMMING2)。

代码演示:

import numpy as np
import cv2
from matplotlib import pyplot as plt

img = cv2.imread('head.jpg',0)
# Initiate ORB detector
orb = cv2.ORB_create()
# find the keypoints with ORB
kp = orb.detect(img,None)
# compute the descriptors with ORB
kp,des = orb.compute(img,kp)
# draw only keypoints location,not size and orientation
img2 = cv2.drawKeypoints(img,kp,None,color=(0,255,0),flags=0)

plt.imshow(img2)
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值