matlab哈夫点线对偶运算,数字图像处理—图像分割—哈夫(Hough)变换及哈夫变换原理—检测直线...

1、检测直线

n个点在一条直线上,连续的满足直线方程;同样,离散的也满足直线方程。

直线解决方法:先确定所有有任意2点决定的直线(需约

0818b9ca8b590ca3270a3433284dd417.png次运算以确定n(n - 1)/ 2条线)。在找出接近具体直线的点的集合(需约

0818b9ca8b590ca3270a3433284dd417.png次运算以比较n个点中的每一个与n(n - 1)/ 2条直线中的每一条),这样计算量太大。

☞哈夫变换的方法:可用较少的计算量来解决这个问题。

哈夫变换利用点—线的对偶性(duality):

(1)在图像空间中共线的点对应在参数空间里相交的线。

(2)在参数空间中相交于同一个点的所有直线在图像空间里,有共线的点与之对应。

0818b9ca8b590ca3270a3433284dd417.png

图像空间XY中过点

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png的直线上的每一点都对应在参数空间PQ里的一条直线,这些直线相较于点(p’,q‘)。

☞哈夫变换检测直线的具体实现原理(过程):

0818b9ca8b590ca3270a3433284dd417.png

●在参数空间PQ里建立一个两维的累加数组。设这个累加数组为A(p,q),其中[Pmin,Pmax]和[Qmin,Qmax]分别为预期的斜率和截距的取值范围。

●开始时置数组A为零,然后对每一个图像空间中的给定点(x,y),让p取遍P轴上所有可能的值,并算出对应的q = -px + y。(x,y固定)

●再根据p和q的值(设都已经取整)对A累加:A(p, q) = A(p,q)+1。

●累加结束后,根据A(p,q)处共线点的个数。同时(p,q)值也给出了直线方程的参数,使我们得到了点所在直线的方程。

●如果

0818b9ca8b590ca3270a3433284dd417.png共线,则有相同的p,q,A(p,q)则可以不断累加。

☞哈夫变换在极坐标下检测直线(能检测垂直于X轴的曲线,θ为90°)

●如果直线接近竖直方向,会由于p和q的值都接近无穷而使计算量大增,此时可用直线的极坐标方程:

0818b9ca8b590ca3270a3433284dd417.png

●根据这个方程,原图像空间中的点对应新参数空间中的一条正弦曲线,即原来的点—直线对偶性变成了现在的点—正弦曲线对偶性。

●检测在图像空间中共点的线需要在参数空间里检测正弦曲线的交点。

●具体就是让θ取遍θ轴上所有可能的值,并算出对应的ρ,再对累加数组A累加,有A的数值得到共线点的个数,这里在参数空间建立累加数组的方法与上述类似。

0818b9ca8b590ca3270a3433284dd417.png累啊累

0818b9ca8b590ca3270a3433284dd417.png~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值