canny边缘检测:
(1)进行噪声抑制,用高斯平滑,避免求一阶导时出现大量由噪声产生的极大值。
(2)求一阶导,理论上极大值就是边缘。
(3)由于求得的一阶导数可能存在如下情况:实际上的极大值点只有一个,但是存在很多局部极大值点噪声。
通过非极大值抑制(NMF)解决,思想如下:
(4)得到处理后的梯度图后,通过选取阈值,让梯度值大于阈值的才算做边缘,由于阈值取大边缘太少,阈值取小又有很多噪声,所以用双阈值检测边缘,在大阈值边缘基础上通过寻找能让大阈值边缘连接起来的小阈值边缘,最后形成整个的边缘:
Harris角点检测:
角点定义:窗口向任意方向的移动都导致图像灰度的明显变化:
(1)首先计算一个能量值E,代表一个中心像素代表的小patch,移动(u,v)像素后,和原来的这个patch的像素值差之和,也就是区别,如果能量值E大,就代表区别大(x,y代表patch中每个像素):
(2)这个能量值可以改写为:
这种x^TAx的形式,然后可以将M通过求特征值特征向量进行分解:
所以,想让这个patch在各个方向都变化大,说明让[u,v]取各个方向E都很大,也就是M的所有特征值都很大,只需根据这个原则选取角点,具体实践上,根据如下方法选取角点:
(所有蓝色底截图来自于中科院自动化所机器视觉组ppt内容,网址为http://vision.ia.ac.cn/zh/index_cn.html)