Houghtransform: Hough line function

hello! I have to detect only the horizontal lines in the image using the hough transform.... but when i use houghline function n then plot the detected lines it plot both horizontal and vertical lines.... how can i remove the vertical lines??????????

 采纳的回答

Image Analyst
Image Analyst 2011-11-27

0 个投票

If you have the endpoints for all the lines, it should be rather straightforward - just delete those where the delta y of the endpoints is less than the delta x or some other delta that you want to use to define vertical.

8 个评论

this is what i have
lines = houghlines(edge_img,theta,rho,pp,'FillGap',100,'MinLength',100);
figure, imshow(I), hold on
max_len = 0;
totlen = 0;
for k = 1:length(lines)
xy = [lines(k).point1; lines(k).point2];
plot(xy(:,1),xy(:,2),'LineWidth',1,'Color','green');
end
fimg= my edge image using sobel edge function
pp= hough peaks (for rho and theta lines)
theta=-90 to 90
rho= +/-sqrt diagonal of image
please correct it as per my objective.... thanks!
But it doesn't look like you even made any sort of attempt to try my suggestion. Why not?
Fill in the code where you read in an image so I can run it. Hopefully you used a standard demo image that ships with MATLAB. Or else upload your image somewhere.
please find the code and the image link in ur MSG box
have you received???????
please advise the solution.... i tried but getting no result...
No. I don't have a message box. Where did you send it? Why don't you just edit your above question right here and add the code?
http://www.mathworks.com/matlabcentral/answers/7924-where-can-i-upload-images-and-files-for-use-on-matlab-answers
well the problem has been solved thanks for your suggestions.... :)

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by