해당 포스트는 "OpenCV로 배우는 영상 처리 및 응용", "C++ API OpenCV 프로그래밍" 책의 내용을 요약한 것이다.
1. 직선 그리기
void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness = 1, int lineType = 8, int shift = 0)
: 영상 img에 pt1에서 pt2까지 연결하는 라인을 color 색상, thickness 두께로 라인을 그린다. lineType이 8 또는 4이면 8 또는 4픽셀 이웃을 사용하는 라인 알고리즘을 생성한다. lineType이 CV_AA이면 안티에일리징 라인을 생성한다. shift는 pt1과 pt2의 각 좌표를 shift 연산해 비트 이동시킨다. 만약 shift가 1이면 >>연산자가 적용되 나누기 2가 된다.
2. 사각형 그리기
void rectangle(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)
: 영상 img에 pt1과 pt2로 정의되는 사각형을 그리되 color 색상, thickness 두께로 그린다. 단, thickness가 -1일 경우 사각형을 color로 채운다.
void rectangle(Mat& img, Rect rect, const Scalar& color, int thickness=1, int lineType=8, int shift=0)
6. 타원 그리기
void ellipse(Mat& img, Point center, Size axes, double angle, double startAngle, double endAngle, const Scalar& color, int thickness=1, int lineType=8, int shift=0)
: ellipse 함수는 영상 img에 중심점 center, 주축 크기의 절반 axes, 수평추고가의 회전 각도 angle, 호의 시작과 끝의 각도는 startAngle, endAngle인 타원을 그린다. startAngle =0, endAngle=360이면 닫힌 타원을 그린다.
void ellipse(Mat& img, const RotatedRect& box, const Scalar& color, int thickness=1, int lineType=8, int shift=0)
: 영상 img에 RotatedRect 클랫의 회전된 사각형 box에 내접하는 타원을 그린다.
void ellipse2Poly(Point center, Size axes, int angle, int arcStart, int arcEnd, int delta, vector<Point>& pts)
: 위의 매개 변수에 의해 정위되는 타원 위의 좌표를 delta 각도 간격으로 계산하여 벡터 pts에 저장한다.
'OpenCV 프로그래밍' 카테고리의 다른 글
OpenCV 키보드/마우스/트랙바 처리, 영상 파일 읽기/쓰기 (0) | 2017.06.23 |
---|---|
OpenCV 윈도우 관련 함수 (0) | 2017.06.23 |
Mat_, Output(Input)Array, saturate_cast, 예외처리 (0) | 2017.06.22 |
Mat 클래스 (0) | 2017.06.22 |
Matx, Vec, Scalar_, Range, Ptr (0) | 2017.06.21 |