2
2
#include " opencv2/imgproc.hpp"
3
3
#include " opencv2/highgui.hpp"
4
4
#include < stdio.h>
5
+
5
6
using namespace cv ;
6
7
7
8
static void help ()
@@ -16,14 +17,9 @@ static Scalar randomColor(RNG& rng)
16
17
return Scalar (icolor&255 , (icolor>>8 )&255 , (icolor>>16 )&255 );
17
18
}
18
19
19
- int main (int argc, char ** argv )
20
+ int main ()
20
21
{
21
- cv::CommandLineParser parser (argc, argv, " {help h||}" );
22
- if (parser.has (" help" ))
23
- {
24
- help ();
25
- return 0 ;
26
- }
22
+ help ();
27
23
char wndname[] = " Drawing Demo" ;
28
24
const int NUMBER = 100 ;
29
25
const int DELAY = 5 ;
@@ -36,31 +32,41 @@ int main(int argc, char** argv)
36
32
imshow (wndname, image);
37
33
waitKey (DELAY);
38
34
39
- for (i = 0 ; i < NUMBER; i++)
35
+ for (i = 0 ; i < NUMBER * 2 ; i++)
40
36
{
41
37
Point pt1, pt2;
42
38
pt1.x = rng.uniform (x1, x2);
43
39
pt1.y = rng.uniform (y1, y2);
44
40
pt2.x = rng.uniform (x1, x2);
45
41
pt2.y = rng.uniform (y1, y2);
46
42
47
- line ( image, pt1, pt2, randomColor (rng), rng.uniform (1 ,10 ), lineType );
43
+ int arrowed = rng.uniform (0 , 6 );
44
+
45
+ if ( arrowed < 3 )
46
+ line ( image, pt1, pt2, randomColor (rng), rng.uniform (1 ,10 ), lineType );
47
+ else
48
+ arrowedLine (image, pt1, pt2, randomColor (rng), rng.uniform (1 , 10 ), lineType);
48
49
49
50
imshow (wndname, image);
50
51
if (waitKey (DELAY) >= 0 )
51
52
return 0 ;
52
53
}
53
54
54
- for (i = 0 ; i < NUMBER; i++)
55
+ for (i = 0 ; i < NUMBER * 2 ; i++)
55
56
{
56
57
Point pt1, pt2;
57
58
pt1.x = rng.uniform (x1, x2);
58
59
pt1.y = rng.uniform (y1, y2);
59
60
pt2.x = rng.uniform (x1, x2);
60
61
pt2.y = rng.uniform (y1, y2);
61
62
int thickness = rng.uniform (-3 , 10 );
63
+ int marker = rng.uniform (0 , 10 );
64
+ int marker_size = rng.uniform (30 , 80 );
62
65
63
- rectangle ( image, pt1, pt2, randomColor (rng), MAX (thickness, -1 ), lineType );
66
+ if (marker > 5 )
67
+ rectangle (image, pt1, pt2, randomColor (rng), MAX (thickness, -1 ), lineType);
68
+ else
69
+ drawMarker (image, pt1, randomColor (rng), marker, marker_size );
64
70
65
71
imshow (wndname, image);
66
72
if (waitKey (DELAY) >= 0 )
@@ -181,7 +187,3 @@ int main(int argc, char** argv)
181
187
waitKey ();
182
188
return 0 ;
183
189
}
184
-
185
- #ifdef _EiC
186
- main (1 ," drawing.c" );
187
- #endif
0 commit comments