在csdn中编辑公式参考:

http://blog.csdn.net/gateway6143/article/details/23134225


论文思路


一、 对直线(一维曲线的检测)


1. 真实图像常常包含噪声,对图像进行平滑去噪(高斯平滑):

                      

2. 对去噪后的图像求一阶导数,得到图像的一阶响应



3. 对一阶响应再次求导数,得到二阶响应:




4.将原图进行泰勒展开,保留前三项,(系数分别为原图的各阶响应)




4.对原图的泰勒展开式求一阶导数,并令一阶导数为0, 得到,



对于

大于用户设定阈值的点,选为一维边缘点。


二、对曲线(二维曲线的检测)



1.对原图进行高斯滤波后求一阶二阶偏导,和二阶混合偏导,



该步骤可通过原图卷积适当的高斯核(对高斯核求一阶二阶偏导和二阶混合偏导后形成的高斯核)

4. 构造Hessian 矩阵,



5. 求Hessian矩阵的特征值和特征向量,其中对应最大特征值的特征向量(长度归一化):

,其中

6. 二维边缘点位置:


其中,


其中




三、 把点串成线


1.根据求出来的法向量,


得到线的方向为 ,在8领域像素点选取。

例如 , 当直线的方向在范围内,领域缩小为 ,即8连通域中选取如下点



2.判断条件,两个点的亚像素位置和角度差,


使得

最小的点即是边缘点,文中采用 .。

3.继续在领域中寻找曲线上的点,直到最好的匹配候选点已经被另一条曲线选中。此时,把该点标记为连接点,并且包含该点的线从该点处分裂成两条线。


opencv论文实现:(待续)





参考文献

Carsten Steger: Extracting Lines Using Differential Geometry and Gaussian Smoothing; in:International Archives of Photogrammetry and Remote Sensing (1996), Volume XXXI, Part B3, 821-826

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐