해당 포스트는 "OpenCV로 배우는 영상 처리 및 응용", "C++ API OpenCV 프로그래밍" 책의 내용을 요약한 것이다.
※ 윈도우 관련 함수
void namedWindow(const string& winname, int flag=WINDOW_AUTOSIZE)
: winname 문자열의 윈도우 캡션을 갖는 윈도우를 생성한다. flag가 WINDOW_AUTOSIZE 이면, 윈도우 크기가 영상에 맞추어서 생성되고 크기를 재조정할 수 없다. flag가 WINDOW_NORMAL이면, 영상이 윈도우 크기에 맞춰진다. 크기는 재조정 가능하고 재조정하면 영상 또한 윈도우 크기에 맞춰져 크기가 재조정된다. namedWindow 함수를 호출하지 않고 바로 imshow 함수로 영상을 표시하면 flag가 WINDOW_AUTOSIZE인 윈도우가 생성된다.
void imshow(const string& winname, InputArray mat)
: 영상 mat를 winname 캡션 이름을 갖는 윈도우에 표시한다.
void destroyWindow(const string& winname)
: winname 캡션 이름을 갖는 윈도우를 파괴한다.
void destroyAllWindows()
: 모든 윈도우를 파괴한다.
void moveWindow(const string& winname, int x, int y)
: winname 캡션 이름을 갖는 윈도우의 좌측-상단 위치를 x,y위치로 이동시킨다.
void resizeWindow(const string& winname, int width, int height)
: winname 캡션 이름을 갖는 윈도우의 크기를 width, height로 변경한다. 단, flags가 WINDOW_AUTOSIZE로 생성한 윈도우는 크기를 재조정할 수 없다.
'OpenCV 프로그래밍' 카테고리의 다른 글
| cvarrToMat, flip, repeat, merge, split, mixChannels (0) | 2017.06.23 |
|---|---|
| OpenCV 키보드/마우스/트랙바 처리, 영상 파일 읽기/쓰기 (0) | 2017.06.23 |
| 직선, 사각형, 원, 타원, 다각형 그리기(OpenCV) (0) | 2017.06.22 |
| Mat_, Output(Input)Array, saturate_cast, 예외처리 (0) | 2017.06.22 |
| Mat 클래스 (0) | 2017.06.22 |
직선, 사각형, 원, 타원, 다각형 그리기(OpenCV)
해당 포스트는 "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 |