Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Parallel Line detection using Hough Transform, OpenCV and python I need help on an algorithm I've been working. I'm trying to detect all the lines

Parallel Line detection using Hough Transform, OpenCV and python

I need help on an algorithm I've been working. I'm trying to detect all the lines in a thresholded image, detect all the lines and then output only those that are parallel. The thresholded image outputs the object of my interest, and then I filter this image through a canny edge detector. This edge image is then passed through the Probabilistic Hough Transform. Now, I want the algorithm to be capable of detecting parallel lines in any image. I had in mind to do this by trying to detect the coordinates of all the lines and calculate their slope (angle). Parallel lines must have the same or almost the same angle and in that way I could output only the lines with the same slope. I could maybe draw an imaginary line in the image and then use ir as reference for all the detected lines in the image? I just don't understand how to use the coordinates of all the lines detected through the function cv2.HoughLinesP(). The documentation of this functions says that the output is a 4D array and this is confusing for me. This is a part of my code:

#Line Detection through Probabilistic Hough Transform

rho_res = .1 # [pixels]

theta_res = np.pi / 180. # [radians]

threshold = 7 # [# votes]

min_line_length = 100 # [pixels]

max_line_gap = 40 # [pixels]

lines = cv2.HoughLinesP(edge_image, rho_res, theta_res, threshold, np.array([]),

minLineLength=min_line_length, maxLineGap=max_line_gap)

#Draw Image

if lines is not None: for i in range(0, len(linesP)): coords = lines[i][0] cv2.line(img, (coords[0], coords[1]), (coords[2], coords[3]), (0,0,255), 2, cv2.LINE_AA)

Any idea on how I could extrapolate all the detected lines and then output only those that are parallel? I have tried a few algorithms online but none seems to work. Again, my problem is understanding and working with the output variables of the function cv2.HoughLinesP().

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Intelligent Databases Object Oriented Deductive Hypermedia Technologies

Authors: Kamran Parsaye, Mark Chignell, Setrag Khoshafian, Harry Wong

1st Edition

0471503452, 978-0471503453

More Books

Students also viewed these Databases questions

Question

Where can authoritative iGAAP be found related to investments?

Answered: 1 week ago