Search for line passing through a point in edge image

3 Ansichten (letzte 30 Tage)
Mary
Mary am 4 Mär. 2013
Hi all
I have an color image and I converted it to gray image then I do edge detection using 'canny'. The edge image contains horizontal, vertical and inclined lines. For specific pixel (xp,yp) in the edge image, I want to search for a vertical line that pass through this point.
Can anyone help me to find to a method to search or detect a vertical line passing in this point. Your help is highly appreciated.
I started with:
I=imread('image.jpg');
G=rgb2gray(I);
B=edge(G,'canny');
  3 Kommentare
Mary
Mary am 5 Mär. 2013
Hi Image Analyst and thank you for your comment.
I tried many times to upload the images to the forum , but I couldn't. could you please tell me the steps and the location that I can upload my images. I highly appreciate your help.
Jan
Jan am 5 Mär. 2013
@Mary: Image Analyst had posted a link to the page, where you can upload images. Then post the link inside < and > or even better in << and &gt&gt. Please explain any details of "I cuoldn't" to allow us to suggest an improvement.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

ChristianW
ChristianW am 4 Mär. 2013
  3 Kommentare
ChristianW
ChristianW am 4 Mär. 2013
BW = diag(ones(1,100)); BW(:,[20 60])=1; BW(20:90,75)=1;
[H,T,R] = hough(BW);
P = houghpeaks(H,200);
It = T(P(:,2)) == 0; % index vector for theta == 0
lines = houghlines(BW,T,R,P(It,:));
isvline = false(size(BW));
for k = 1:length(lines)
y = lines(k).point1(2) : lines(k).point2(2);
x = lines(k).point1(1) * ones(size(y));
isvline(y,x) = true;
end
isvline(38,75) % test, is pixel(yp=38,xp=75) part of a vertical line?
Mary
Mary am 4 Mär. 2013
Thank you Christian for your answer.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by