霍夫變換-檢測直線

這裏寫圖片描述這裏寫圖片描述
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

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章