本文主要是介绍霍夫变换-检测直线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
matlab版代码
%% 入口图像为bw,出口图像为f
clc,clear;
img=imread('./image/road.jpg');
subplot(221),imshow(img),title('original image');
bw=im2bw(img,0.7);
subplot(222),imshow(bw),title('bw image');
tresh=[0.1,0.15];
sigma=2;
f=edge(double(bw),'canny',tresh,sigma);
subplot(223),imshow(f,[]),title('canny边缘检测');[H,theta,rho]=hough(f,'RhoResolution',0.5);
peak=houghpeaks(H,5);
lines=houghlines(f,theta,rho,peak);
subplot(224),imshow(f,[]),title('Hough Transform Detect Result');hold on
for k=1:length(lines)xy=[lines(k).point1;lines(k).point2];plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','red');
end
这篇关于霍夫变换-检测直线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!