Haugh transform
y = mx + b 这种直线表达有个缺点,当直线垂直X轴的时候,斜率是无穷大,在Haugh空间无法表示。为了不这种状况,咱们使用极坐标表示。
将xy坐标上的点映射到极坐标空间。ρ与θ的关系就是个sin函数。表达意思和y=mx+b同样,只是曲线的形状变了。voting时要注意每一个区域的大小。
投票的时候,不是全部角度都投,通常只考虑梯度方向,由于边缘和梯度垂直。下降阈值让更多的直线被检测到,对于strong Edge增大权重,weak Edge下降权重 能够很容易把小物体检测出来,加强小物体的边缘投票,边缘的强弱要经过幅值来看。对于粗细搜索,先用粗的bin范围内搜索找到可能的位置,再经过小范围精细,这种方法使用状况不少。函数
示例:
image --> canny
canny --> Hough votes hough曲线上的亮点表示获得的投票个数多,暗点表示投票个数小。
经过hough空间找到投票的极值,获得原图像中的一些边缘。点越亮对应原图像的线越长。
Hough Transform: Results
hough变换的目的是:找到二值图像中经过足够多数量点的全部直线,并分析每一个单独的像素点,识别出可能经过他的直线,一条直线经过不少点说明这条直线足够明显。使用二维累加器统计直线被识别了多少次,该累加器的尺寸是ρ,θ,步长来定义
图像局部特征
局部特征是图像的局部表达,反应图像的局部特殊性,只适用于对图像进行匹配和检索等等,对图像理解并不合适。3d
图像理解更关注全局特征,好比颜色分布,文理特性,主要是物体的形状等等。全局特征容易受到环境的干扰,好比光照,旋转,噪声等等,这些因素只要稍微变化对全局特征的影响都很大。orm
相比全局特征,局部特征每每对图像中一些线条的交叉,明暗变化受到的干扰很是少,这时咱们就须要引入局部特征,进行图像的匹配或者检索类需求。cdn
blob(斑点)一般指的是周围有一些颜色,灰度差异的区域,比Corner抗噪要强,稳定性也好。blog
Corner指图像中一个物体的拐角或者两条直线的交叉部分。 it
Corner Detection: Mathematics
Moravel在四个方向上讨论灰度变化值,而后将各个方向上灰度变化最小的值做为Corner潜在值。
E(u,v) E表示窗口移动先后的灰度变化,u表示窗口在X轴上的移动距离,v表示窗口在y轴上的移动距离,w(x,y)是窗口函数。在4个方向找minE(u,v)大于某一个阈值来判断x,y的位置是不是一个角点。这种方法的缺点是只考虑了四个方向,若是矩阵框发生旋转,那就会都检测成了拐角,并且minE的值很容易搜到噪声污染。io
在(0,0)位置进行泰勒展开
M是一个协方差矩阵,表现的是全部方向上的强度变化率,他是对可能的角点周围的小区域进行一个区内求和。求图像的一阶导,用sobel算子。
协方差矩阵的两个特征值给出的就是最大平均强度的变化以及垂直方向强度的变化。
Interpreting the eigenvalues
找两个λ特征值都大的点就是角点
Corner response function
Scale Space
多尺度下的图像匹配,会用到高斯滤波function
G越大越模糊 form