早教吧 育儿知识 作业答案 考试题库 百科 知识分享

请问下面的matlab代码每一项具体代表什么意思?lines=houghlines(BW,T,R,P,'FillGap',50,'MinLength',7)

题目详情
请问下面的matlab代码每一项具体代表什么意思?lines=houghlines(BW,T,R,P,'FillGap',50,'MinLength',7)
▼优质解答
答案和解析
首先讲一下这个函数: 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是一个正实数,用来确定是否保存线条。如果线条的长度小于这个值,线条将会被擦除,否则就保存。