边缘检测

边缘主要包括轮廓线边缘和纹理边缘

寻找图像中的边缘是为了找到变化非常强烈的相邻像素,例如从0-255或从255-0。

1

Robert算子(Robert operator)

234

I[i, j] : 图像中的像素值

通过高斯滤波器卷积图像,我们将得到

\[S[i,j]=G[i,j:\sigma]*I[i,j] \]

\(\sigma\)是高斯分布。

使用以下公式创建一个过滤器:

\[P[i,j]=(S[i,j+1]-S[i,j]+S[i+1,j+1]-S[i+1,j])/2 \\ Q[i,j]=(S[i,j]-S[i+1,j]+S[i,j+1]-S[i+1,j+1])/2 \]

边缘像素

\[M[i,j]=\sqrt{P[i,j]^2+Q[i,j]^2} \]

边缘像素的\(\theta\)

\[\theta[i,j] = arctan(Q[i,j], P[i,j]) \]

广义的霍夫(Hough)变换

在目标图像中寻找任何形状。

包含2个主要模型。

  • 保留模板形状的细节。
  • 搜索目标图像内的形状。

在创建一个形状之前,选择图像的中心点。

对于属于边缘的像素,将直线向中点拖动,并收集以下值。

GHT: R-Table

5

算法

1.找到目标图像的边缘,并收集梯度值grad(梯度方向)。

2.对于每个边缘像素,使用步骤1得到的值\(\theta\)(梯度方向)来搜索存储在R表中的值\(\alpha\)和r,这些值被储存在R-Table中。

3.对于在R-Table中搜索得到的\(\alpha\)和r的值,根据该值而不是公式中的a和r的值。

67

因此,当比例Scale和旋转值Rotate被改变时,旧的方程式将被改变为新的方程式,如下所示:

89

参考链接:

Find edges in 2-D grayscale image - MATLAB edge - MathWorks United Kingdom

posted on 2022-08-11 17:20  醉一心  阅读(154)  评论(0编辑  收藏  举报