人工智能和计算机视觉(5)-边缘检测

边缘检测

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

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

1

Robert算子(Robert operator)

234

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

通过高斯滤波器卷积图像,我们将得到
S [ i , j ] = G [ i , j : σ ] ∗ I [ i , j ] S[i,j]=G[i,j:\sigma]*I[i,j] S[i,j]=G[i,j:σ]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 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 P[i,j]=(S[i,j+1]S[i,j]+S[i+1,j+1]S[i+1,j])/2Q[i,j]=(S[i,j]S[i+1,j]+S[i,j+1]S[i+1,j+1])/2
边缘像素
M [ i , j ] = P [ i , j ] 2 + Q [ i , j ] 2 M[i,j]=\sqrt{P[i,j]^2+Q[i,j]^2} M[i,j]=P[i,j]2+Q[i,j]2
边缘像素的 θ \theta θ
θ [ i , j ] = a r c t a n ( Q [ i , j ] , P [ i , j ] ) \theta[i,j] = arctan(Q[i,j], P[i,j]) θ[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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值