资源经验分享OpenCV | ORB特征检测与描述

OpenCV | ORB特征检测与描述

2019-11-12 | |  97 |   0

原标题:OpenCV | ORB特征检测与描述

原文来自:CSDN      原文链接:https://blog.csdn.net/u012325865/article/details/103008050


ORB (Oriented FAST and Rotated BRIEF)

ORB基本上是FAST关键点检测器和Brief描述符的融合,并进行了许多修改以增强性能。首先,它使用FAST查找关键点,然后应用哈里斯角点度量在其中找到前N个点。它还使用金字塔生成多尺度特征。但是一个问题是,FAST无法计算方向。那么旋转不变性呢?作者提出以下修改。

它计算角点位于中心的贴片的强度加权质心。从此角点到质心的矢量方向确定了方向。为了改善旋转不变性,使用x和y计算矩,它们应该在半径为的圆形区域中[R,其中[R补丁的大小。

现在,对于描述符,ORB使用Brief描述符。但是我们已经看到,BRIEF的旋转性能很差。因此,ORB所做的就是根据关键点的方向“引导” BRIEF。对于位置的任何ñ二进制测试 功能集(x_i,y_i),请定义一个2次矩阵,小号其中包含这些像素的坐标。然后使用补丁的方向, theta找到其旋转矩阵并旋转小号以获得转向(旋转)版本S_  theta

 

import numpy as np
import cv2
from matplotlib import pyplot as plt
 
img = cv2.imread('molecule.png',0)
 
# Initiate STAR 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,color=(0,255,0), flags=0,outImage=None)
 
cv2.imwrite('sift_keypoints.jpg',img)
 
plt.imshow(img2),plt.show()

newsimg1108_05.png


原图

newsimg1108_06.png

输出图

newsimg1108_01.jpg

 


参考:

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_orb/py_orb.html#orb

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:HDFS优点

下一篇:机器学习萌新要知道的十种算法

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...