Extracting Lines Using Differential Geometry and Gaussian Smooth--Carsten Steger 使用微分几何和高斯平滑进行边缘提取
在csdn中编辑公式参考:http://blog.csdn.net/gateway6143/article/details/23134225论文思路一、 对直线(一维曲线的检测)1. 真实图像常常包含噪声,对图像进行平滑去噪(高斯平滑): 2. 对去噪后的图像求一阶导数,得到图像的一阶响应3.
在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
更多推荐
所有评论(0)