佛山自定义网站建设,重庆市建设工程施工安全信息网,重庆专业网站建设公司排名,wordpress当前位置目录 1 Fast算法
1.1 Fast算法原理
1.2 实现办法
1.2.1 机器学习的角点检测器
1.2.2 非极大值抑制
1.3 代码实现
1.4 结果展示
2 #xff0c;ORB算法
2.1代码实现
2.2 结果展示 1 Fast算法 1.1 Fast算法原理 1.2 实现办法 1.2.1 机器学习的角点检测器 1.2.2 …目录 1 Fast算法
1.1 Fast算法原理
1.2 实现办法
1.2.1 机器学习的角点检测器
1.2.2 非极大值抑制
1.3 代码实现
1.4 结果展示
2 ORB算法
2.1代码实现
2.2 结果展示 1 Fast算法 1.1 Fast算法原理 1.2 实现办法 1.2.1 机器学习的角点检测器 1.2.2 非极大值抑制 1.3 代码实现 import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np
from pylab import mplmpl.rcParams[font.sans-serif] [SimHei]img cv.imread(corner.png)#Fast 角点检测创建一个fast对象传入阈值 注意 可以处理彩色空间图像
fast cv.FastFeatureDetector_create(threshold30)#检测图像上的关键点
kp fast.detect(img , None)#在图像上绘制关键点
img2 cv.drawKeypoints(img , kp , None ,color(0,0,255))#输出默认参数
打印默认参数的值包括阈值、是否使用非极大值抑制、邻域大小以及检测到的关键点数量
print(Threshold: {}.format(fast.getThreshold()))
print(nonmaxSuppression:{}.format(fast.getNonmaxSuppression()))
print(neighborhood: {}.format(fast.getType()))
print(Total Keypoints with nonmaxSuppression.format(len(kp)))# 关闭非极大值抑制
fast.setNonmaxSuppression(0)
kp fast.detect(img , None)print(Total Keypoints without nonmaxSuppression :{}.format(len(kp)))#绘制未 加入 非极大值抑制的结果
img3 cv.drawKeypoints(img , kp,None ,color(0,0,255))#绘制图像
fig , axes plt.subplots(nrows1 , ncols2,figsize(5,4),dpi100)
axes[0].imshow(img2[:,:,::-1])
axes[0].set_title(加入非极大值抑制)axes[1].imshow(img3[:,:,::-1])
axes[1].set_title(未加入非极大值抑制)
plt.show()
1.4 结果展示 2 ORB算法 2.1代码实现 import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np
from pylab import mplmpl.rcParams[font.sans-serif] [SimHei]img cv.imread(corner.png)#2 ORB算法角点检测
#2.1 实例化ORB对象
创建了一个ORBOriented FAST and Rotated BRIEF特征检测器对象并设置了最大特征点数为500。
orb cv.ORB_create(nfeatures500)#2.2 检测关键点并计算特征描述符
kp , des orb.detectAndCompute(img ,None)print(des.shape)orb.detectAndCompute()函数接受两个参数图像(img)和掩码(None)。它将返回两个结果关键点(kp)和描述子(des)。关键点(kp)是一个包含检测到的关键点信息的列表。每个关键点包含其在图像中的位置、尺度、方向等属性。描述子(des)是一个二维数组形状为(N, 32)其中N是检测到的关键点数量。每一行代表一个关键点的描述子描述子是一个长度为32的二进制向量。通过打印des.shape可以输出描述子的形状。这里的输出表示检测到的关键点数量为N每个关键点的描述子长度为32。#将关键点绘制在图像上
img2 cv.drawKeypoints(img , kp ,None ,color(0,0,255),flags0)#绘制图像
plt.figure(figsize(5,4),dpi100)
plt.imshow(img2[:,:,::-1])
plt.xticks([]),plt.yticks([])
plt.show()
2.2 结果展示