%用Hough函数检测图像中的直线
RGB=imread('001.tif');
I=rgb2gray(RGB);
BW=edge(I,'canny');
[H,T,R]=hough(BW,'RhoResolution',0.5,'ThetaResoion',0.5);
subplot(211);imshow(RGB);
subplot(212);imshow(imadjust(mat2gray(H)),'Xdata',T,'Ydata',R,'InitialMagnification','fit');
colormap(hot);
P=houghpeaks(H,5,'threshold',ceil(0.3*max(H(:))));
lines=houghlines(BW,T,R,P,'FillGap',5,'MinLengh',7);
figure,imshow(BW),hold on;
max_len=0;
for k=1:lengh(lines);
xy=[lines(k).point1;lines(k).point2];
plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');
plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');
plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');
len=norm(lines(k).point1-lines(k).point2);
if(len>max_len)
max_len=len;
xy_long=xy;
end
end