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