1 #include <opencv2/imgproc.hpp>
2 #include <opencv2/highgui.hpp>
3 
4 using namespace cv;
5 using namespace std;
6 
main(int argc,char ** argv)7 int main(int argc, char** argv)
8 {
9     Mat src, dst, color_dst;
10     if( argc != 2 || !(src=imread(argv[1], 0)).data)
11         return -1;
12 
13     Canny( src, dst, 50, 200, 3 );
14     cvtColor( dst, color_dst, COLOR_GRAY2BGR );
15 
16     vector<Vec4i> lines;
17     HoughLinesP( dst, lines, 1, CV_PI/180, 80, 30, 10 );
18     for( size_t i = 0; i < lines.size(); i++ )
19     {
20         line( color_dst, Point(lines[i][0], lines[i][1]),
21         Point( lines[i][2], lines[i][3]), Scalar(0,0,255), 3, 8 );
22     }
23     namedWindow( "Source", 1 );
24     imshow( "Source", src );
25 
26     namedWindow( "Detected Lines", 1 );
27     imshow( "Detected Lines", color_dst );
28 
29     waitKey(0);
30     return 0;
31 }
32