Search for line passing through a point in edge image

Illustration
Mary - 2023-02-21T10:09:40+00:00
Question: Search for line passing through a point in edge image

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');   I read about Hough transform and I found these functions but I could't write the codes or the program to solve the problem. could you please help me for more details or a part of program. your help is greatly appreciated: [H, theta, rho] = hough(BW) [H, theta, rho] = hough(BW, ParameterName, ParameterValue) peaks = houghpeaks(H, numpeaks) peaks = houghpeaks(..., param1, val1, param2, val2) lines = houghlines(BW, theta, rho, peaks) lines = houghlines(..., param1, val1, param2, val2)  

Expert Answer

Profile picture of Kshitij Singh Kshitij Singh answered . 2025-11-20

doc hough
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?

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!