2.5 KiB
2.5 KiB
Python 中的 ORB 特征检测
原文:https://www.askpython.com/python/examples/orb-feature-detection
你好,各位程序员,在本教程中,我们将看到什么是 ORB 特征检测器以及我们如何用 Python 实现它。ORB 代表快速定向旋转简报。
ORB 特征检测简介
**Oriented FAST and rotated BRIEF(ORB)**是一种快速鲁棒的局部特征检测器,由 Ethan Rublee et al. 于 2011 年首次提出,用于物体识别或 3D 重建等计算机视觉任务。
Sample Multiscaled Image Pyramid
ORB 使用了修改版的快速关键点检测器和简短描述符。在这种情况下,快速特征不是比例不变和旋转不变的。为了使快速惊吓不变,我们使用一个多尺度金字塔。ORB 检测每一关的特征以获得更高的精确度。
用 Python 实现 ORB 特征检测
当谈到 ORB 特征检测时,我们利用一些直接函数来读取图像,检测和计算 ORB 特征,然后将检测到的关键点绘制到图像中。
为了显示图像,我们使用了 OpenCV 库的旧的imshow函数。代码如下,希望您清楚所采取的步骤。
import cv2
orb=cv2.ORB_create()
img=cv2.imread("selena.jpg",1)
kp, des = orb.detectAndCompute(img, None)
imgg=cv2.drawKeypoints(img, kp, None)
img = cv2.resize(img, (300, 300))
imgg = cv2.resize(imgg, (300, 300))
cv2.imshow("Original Image",img)
cv2.imshow("ORB Feature Detection on Image",imgg)
cv2.waitKey(0)
cv2.destroyAllWindows()
产出#1
1.1 选择的原始图像
Original Image Face Detection
1.2 特征检测后
ORB Face Detection Output Image
样本输出#2
2.1 选择的原始图像
Original Image Face Detection Image2
2.2 特征检测后
ORB Face Detection Output Image2
结论
如你所见,我们的模型检测到了主要特征。您也可以使用自己的个人图像尝试相同的算法。对模型的结果感到惊讶。希望你喜欢这个教程!
感谢您的阅读!




