더북(TheBook)

앞에서 설명한 line(), arrowedLine(), drawMarker() 함수를 사용하여 직선을 그리는 예제 코드를 코드 4-6에 나타냈습니다. 코드 4-6의 drawLines() 함수는 흰색으로 초기화된 400×400 크기 영상에 다양한 직선과 화살표 등을 그리고 화면에 나타냅니다. drawLines() 함수가 정의된 소스 파일은 내려받은 예제 파일 중 ch04/drawing 프로젝트에서 확인할 수 있습니다.

코드 4-6 직선 그리기 예제 [ch04/drawing]

01    void drawLines()
02    {
03        Mat img(400, 400, CV_8UC3, Scalar(255, 255, 255));
04     
05        line(img, Point(50, 50), Point(200, 50), Scalar(0, 0, 255));
06        line(img, Point(50, 100), Point(200, 100), Scalar(255, 0, 255), 3);
07        line(img, Point(50, 150), Point(200, 150), Scalar(255, 0, 0), 10);
08     
09        line(img, Point(250, 50), Point(350, 100), Scalar(0, 0, 255), 1, LINE_4);
10        line(img, Point(250, 70), Point(350, 120), Scalar(255, 0, 255), 1, LINE_8);
11        line(img, Point(250, 90), Point(350, 140), Scalar(255, 0, 0), 1, LINE_AA);
12     
13        arrowedLine(img, Point(50, 200), Point(150, 200), Scalar(0, 0, 255), 1);
14        arrowedLine(img, Point(50, 250), Point(350, 250), Scalar(255, 0, 255), 1);
15        arrowedLine(img, Point(50, 300), Point(350, 300), Scalar(255, 0, 0), 1, LINE_8, 0, 0.05);
16     
17        drawMarker(img, Point(50, 350), Scalar(0, 0, 255), MARKER_CROSS);
18        drawMarker(img, Point(100, 350), Scalar(0, 0, 255), MARKER_TILTED_CROSS);
19        drawMarker(img, Point(150, 350), Scalar(0, 0, 255), MARKER_STAR);
20        drawMarker(img, Point(200, 350), Scalar(0, 0, 255), MARKER_DIAMOND);
21        drawMarker(img, Point(250, 350), Scalar(0, 0, 255), MARKER_SQUARE);
22        drawMarker(img, Point(300, 350), Scalar(0, 0, 255), MARKER_TRIANGLE_UP);
23        drawMarker(img, Point(350, 350), Scalar(0, 0, 255), MARKER_TRIANGLE_DOWN);
24     
25        imshow("img", img);
26        waitKey(0);
27     
28        destroyAllWindows();
29    }

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.