目录
- 一 特征检测算法
- 二 特征定义
- 三 Harris检测角点特征
- 四 Harris检测原理
- 1、灰度变化描述
- 2、E(u,v)E(u,v)值,一般取0.04~0.06;
- borderType:像素插值方法;
函数 cornerHarris 对输入图像进行 Harris 边界检测。输出是一幅浮点值图像,大小与输入图像大小相同,浮点值越高,表明越可能是特征角点(我们可以对图像进行阈值化)。
本文介绍了特征检测算法,重点讲解Harris角点检测。通过函数cornerHarris进行边界检测,给出代码实例展示检测效果。还深入阐述Harris角点检测原理,包括角点定义及特征,其基本思想是用固定窗口滑动比较灰度变化来判断角点。
@author: lenovo
“”"
‘’’
Harris角点检测
‘’’
import cv2
import numpy as np
img = cv2.imread(’./image/cali.bmp’)
img = cv2.resize(img,dsize=(600,400))
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
#角点检测 第三个参数为角点检测的敏感度,其值必须介于3~31之间的奇数
dst = cv2.cornerHarris(gray,3,23,0.04)
print(dst.shape) #(400, 600)
img[dst>0.01*dst.max()] = [0,0,255]
cv2.imshow(’’,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下:

如果我们把第三个参数改为3:,可以看到:

上面我们已经通过实例演示了Harris检测的效果,相信你对Harris角点检测已经有了初步的认识。这里我将带你深入了解Harris角点检测的原理。
我们先来看一幅图片,了解一下什么是角点?

上图中E,F中的角我们通常称作角点(corner points),他们具有以下特征:

harris特征角最早在paper A Combined Corner and Edge Detector中被Chris Harris & Mike Stephens提出。
Harris角点检测的基本思想:算法基本思想是使用一个固定窗口在图像上进行任意方向上的滑动,比较滑动前与滑动后两种情况,窗口中的像素灰度变化程度,如果存在任意方向上的滑动,都有着较大灰度变化,那么我们可以认为该窗口中存在角点。

当窗口发生[u,v][u,v]
2397
766
486
1526

被折叠的 条评论
为什么被折叠?
