首先讲一下这个函数:
houghlines
这个函数在matlab中有两种调用形式,如下:
lines = houghlines(BW, theta, rho,peaks)
lines = houghlines(..., param1, val1,param2, val2)
在这里主要讲第二种(其实覆盖了第一种)。
这个函数的主要功能是基于霍夫变换对图像进行线段提取,有点类似于边缘检测之类的。
BW就是要进行线段提取的数字图像,theta和rho是hough函数的返回值。peaks是houghpeaks函数的返回值。
而hough函数是用来将一个二值图进行霍夫变换,在生成霍夫变换的图同时还返回了变换角度
theta和rho的值。
houghpeaks函数是用来确定经过所霍夫变换过后的图中峰值的位置。
至于param1 和param2是两个参数选项:
有两种:'FillGap'和'MinLength'
FillGap是一个正实数,用来表示同一图像中两条线段的距离。当两条线的距离小于这个指定值时,houghlines函数就会将这两条线合并成一条线。
MinLength是一个正实数,用来确定是否保存线条。如果线条的长度小于这个值,线条将会被擦除,否则就保存。