首先,使用imread函数读取位于指定路径的图像文件,并将其加载到变量中。
接下来,将彩色图像转换为灰度图像,以便进行后续的边缘检测操作。
使用Canny边缘检测算法对灰度图像进行边缘检测。调用了edge函数,并传入灰度图像、边缘检测算法名称以及阈值范围作为参数,并将结果保存在变量edges中。
执行Hough变换,使用hough函数对边缘图像进行Hough变换。函数返回结果包括累加器数组H、角度范围theta和距离范围rho。
使用houghpeaks函数检测Hough变换结果中的峰值点。指定要检测的峰值数量、阈值等参数,并将结果保存在变量peaks中。
使用houghlines函数根据Hough变换结果和峰值点检测直线。函数的输入包括边缘图像、角度范围、距离范围、峰值点等参数。在这里,还设置了 'FillGap' 和 'MinLength' 参数,用于控制直线连接的最大距离和允许的最小线段长度。检测到的直线保存在结构体数组lines中。
最后,创建一个新的图像窗口,并使用imshow函数显示原始图像。然后,使用plot函数将每条直线的起点和终点坐标连线,设置线宽和颜色属性。通过使用循环来遍历直线数组lines并逐条绘制直线。