void HoughLinesP(InputArray image, OutputArray lines, double rho, double theta, int threshold, double minLineLength=0, double maxLineGap=0 )
Parameters:
Parameters:
- image – 8-bit, single-channel binary source image. The image may be modified by the function.
- lines – Output vector of lines. Each line is represented by a 4-element vector (x1,y1,x2,y2) , where (x1,y1) and (x2,y2) are the ending points of each detected line segment.
- rho – Distance resolution of the accumulator in pixels.
- theta – Angle resolution of the accumulator in radians.
- threshold – Accumulator threshold parameter. Only those lines are returned that get enough votes ( >threshold ).
- minLineLength – Minimum line length. Line segments shorter than that are rejected.
- maxLineGap – Maximum allowed gap between points on the same line to link them.
Steps:
- Load image and convert to gray-scale.
- Apply the Probabilistic Hough Transform to find the lines.(HoughLinesP)
- Draw the detected lines.(line)
- Show the result
Functions:
Example:
-------------#include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> using namespace cv; using namespace std; int main() { Mat src = imread("image1.jpg", 0); Mat dst, cdst; Canny(src, dst, 50, 200, 3); cvtColor(dst, cdst, CV_GRAY2BGR); vector<Vec4i> lines; // detect the lines HoughLinesP(dst, lines, 1, CV_PI/180, 50, 50, 10 ); for( size_t i = 0; i < lines.size(); i++ ) { Vec4i l = lines[i]; // draw the lines line( cdst, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0,0,255), 3, CV_AA); } imshow("source", src); imshow("detected lines", cdst); waitKey(); return 0; }-------------
Is there any function in openCV through which we can detect lines based on the width of the line??
ReplyDeleteThis is a good tip particularly to those fresh to the blogosphere. Brief but very accurate information… Many thanks for sharing this one. A must read post! 경마
ReplyDeleteIt’s difficult to find experienced people in this particular topic, but you seem like you know what you’re talking about! Thanks 토토
ReplyDelete