Task01哈里斯特征点检测器-兴趣点检测

1.1简介
在图像处理领域中,特征点又被称为兴趣点或者角点,它通常具有旋转不变性和光照不变性和视角不变性等优点,是图像的重要特征之一,常被应用到目标匹配,目标跟踪,三维重建等应用中。点特征主要指图像中的明显点,如突出的角点,边缘端点,极值点等等,用于点特征提取的算子称为兴趣点提取(检测)算子,常用的有哈里斯角点检测,FAST特征检测,SIFT特征检测及SURF特征检测。

1.角点
使用一个滑动窗口在以下三幅图中滑动,可以进行以下建模:

左图表示一个垂直区域,在各方向移动,窗口内部提示值均没有太大变化;
中图表示一个边缘特征(Edges),如果沿水平方向移动(梯度方向),则值会发生跳变;如果沿边缘移动(平行于边缘),则值不会发生变化;
右图表示一个角(Corners),不管你把它朝哪个方向移动,导致值都会发生很大的变化。在这里插入图片描述
1.5基于OpenCV的实现

  1. API
    在opencv中有提供实现Harris角点检测的函数cv2.cornerHarris,我们直接调用的就可以,非常方便。

函数原型:cv2.cornerHarris(src, blockSize, ksize, k[, dst[, borderType]])

对于每一个分辨率(x,y),在(blockSize x blockSize)邻域内,计算梯度图的协方差矩阵$ M(x,y)$,然后通过上面第二步中的角点响应函数得到结果图。图像中的角点可以为该结果图的局部替代。

即可以得到输出图中的局部顶点,这些值就对应图像中的角点。

参数说明:

src-输入灰度图像,float32类型
blockSize-用于角点检测的邻域大小,就是上面提到的窗口的尺寸
ksize-用于计算梯度图的Sobel算子的尺寸
k-用于计算角点响应函数的参数k,取值范围常在0.04〜0.06之间从matplotlib 导入cv2 作为 cv
导入pyplot 作为plt 导入numpy 作为np

#个检测器参数
block_size = 3
sobel_size = 3
k = 0.06

图片 = 简历。读(‘Scenery.jpg’)

打印(图像。形状)
高度 = 图像。形状 [ 0 ]
宽度 = 图片。形状 [ 1 ]
通道 = 图像。shape [ 2 ]
打印(“宽度:%s高度:%s通道:%s” %(宽度,高度,通道)

gray_img = cv。cvtColor(图像,CV2。COLOR_BGR2GRAY)

#将数据类型设置修改为32位浮点
gray_img = np。float32(gray_img)

#检测具有适当值的角作为输入参数
corners_img = cv。cornerHarris(gray_img,block_size,sobel_size,k)

#结果被放大以标记角点,不必要
kernel = cv2。getStructuringElement(CV2。MORPH_RECT,(3,3))
DST = CV。扩张(corners_img,内核)

#最佳阈值,以绿色标记拐角
#image [corners_img> 0.01 * corners_img.max()] = [0,0,255]

为 [R 在 范围(高度):
用于 Ç 在 范围(宽度):
PIX = DST [ - [R ,C ^ ]
如果 PIX > 0.05 * DST。max():
cv2。圆(图像,(Ç,- [R ),5,(0,0,255),0)

图片 = 简历。cvtColor(图像,CV2。COLOR_BGR2RGB)
PLT。imshow(图片)
plt。显示()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SIFT(尺度不变特征变换)是一种常用的图像特征点检测和匹配算法。它的实质是在不同尺度空间上查找特征点,主要包括以下几个步骤\[1\]: 1. 提取关键点:通过在不同尺度下对图像进行下采样,构建图像金字塔,并在每个采样图像上进行特征点检测。 2. 描述关键点:对每个特征点附加详细的信息,也就是所谓的描述子。描述子可以理解为一个用来描述特征点的向量,后面的特征点匹配就是对每个特征点之间描述子是否相似的判断。 3. 特征点匹配:通过对两方特征点的两两比较,找出相互匹配的若干对特征点,建立景物间的对应关系。 其中,SIFT算法是一种常用的特征点检测算法。它采用FAST特征点检测算法来检测特征点,FAST算法定义了特征点的条件,即某个像素点和它周围领域足够多的像素点处于不同区域。对于灰度图,特征点处的灰度值与周围足够多像素的灰度值不同。然后,采用BRIEF描述子来描述每个特征点,BRIEF描述子是用来描述特征点的向量。最后,通过对描述子的相似性进行判断,实现特征点的匹配\[2\]。 总结起来,SIFT特征点检测和匹配是通过在不同尺度空间上查找特征点,并对特征点进行描述和匹配,从而实现图像间的对应关系。这种算法具有尺度不变性和旋转不变性等优点,因此在图像处理和计算机视觉领域得到广泛应用\[3\]。 #### 引用[.reference_title] - *1* *3* [sift特征检测与匹配](https://blog.csdn.net/zencci/article/details/104702649)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [特征点的检测与匹配(ORB,SIFT,SURFT比较)[opencv-python]](https://blog.csdn.net/weixin_43151193/article/details/125222481)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值