基本思路
先使用上文介绍的Prewitt算子将输入的图像边缘化处理,再使用霍夫变换检测直线。
其中使用到了matlab的hough,houghpeaks,houghlines等函数....函数hough
[H, theta, rho] = hough(f) 或 [H, theta, rho] = hough(f, ‘ThetaRes’, val1, ‘RhoRes’, val2)...其中,H是霍夫变换矩阵,theta(以度计)和rho是ρ和θ值向量,在这些值上产生霍夫变换。...结构中的每个元素可以看成一条线,并含有下列字段:
point1:两元素向量[r1, c1],指定了线段起点的行列坐标。...theta:与线相关的霍夫变换的以度计量的角度。
rho:与线相关的霍夫变换的ρ轴位置。
寻找最长直线将每个两个点坐标遍历一遍记录最长距离的两个点并输出。