OpenCV로 배우는 영상 처리 및 응용/ OpenCV 인터페이스 기초/ 사용자 인터페이스 및 I/O 처리

윈도우 창 제어

반환형 이름 파라미터 내용
void namedWindow const string& winname, int floats = WINDOW_AUTOSIZE 윈도우의 이름을 설정하고 해당 이름으로 윈도우를 생성한다.
<윈도우의 크기 조정 옵션>
WINDOW_NORMAL – 0 – 윈도우의 크기 재조정 가능
WINDOW_AUTOSIZE – 1 – 표지될 행렬의 크기에 맞춰 자동 설정
WINDOW_OPENGL – 8 – OpenGL을 지원하는 윈도우 생성
void imshow() const string& winname, InputArray mat Winname 이름의 윈도우에 mat 행렬을 영상으로 표시한다.
해당 이름의 윈도우가 없으면 winname 이름으로 창을 생성하고, 영상을 표시한다.
void destroyWindow() const string& winname 인수로 지정된 타이틀의 윈도우를 파괴한다.
void destroyAllWindows()   HighGUI로 생성된 모든 윈도우를 파괴한다.
void moveWindow() const string& winname, int x, int y Winname 이름의 윈도우를 지정된 위치(x, y)로 이동시킨다. 이동되는 윈도우의 기준 위치는 좌상단이다.
void resizeWindow() const string& winname, int width, int height 윈도우의 크기를 재설정한다.

이벤트 처리 함수

반환형 이름 파라미터 내용
int waitKey int delay = 0 delay(ms) 시간만큼 키 입력 대기하고, 키 이벤트가 발생하면 해당 키 값을 반환한다.
void setMouseCallback() const string& winname, MouseCallback onMouse, void* userdata = 0 사용자가 정의한 마우스 콜백함수를 시스템에 등록하는 함수
void (*MouseCallback)()   발생한 마우스 이벤트에 대해서 처리 및 제어를 구현하는 콜백 함수이다.
setMouseCallback() 함수의 두 번째 인수(함수포인터)의 구현 부이기 때문에 함수명이 인수명과 같아야 한다
typedef 통해서 함수포인터로 정의되어 있어 인수의 구조를 유지해야 함
int createTrackbar() const string& trackbarname, const string& winname, int value, int count, TrackarCallback onChange = 0, Void* userdata = 0 트랙바를 생성하고, 그것을 지정된 윈도우 창에 추가하는 함수
int getTrackbarPos()   지정된 트랙바의 슬라이더 위치를 반환 받는다
void setTrackbarPos()   지정된 트랙바의 슬라이더 위치를 설정한다.

그리기 함수

반환형 이름 파라미터 내용
void line Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness = 1, int lineType = 8, int shift = 0 선 그리기
void rectangle Mat& img, Point pt1, Point pt2, const Scalar color, int thickness = 1, int lineType = 8, int shift = 0 사각형 그리기
void rectangle Mat& img, Rect rec, const Scalar color, int thickness = 1, int lineType = 8, int shift = 0 사각형 그리기
void putText Mat& img, const string& text, Point org, Int fontFace, double fontSacle, Sclar color, int thickness = 1, int lineType = 8, bool bottomLeftOrigin = false 글자 쓰기
void circle Mat& img, Point center, int radius, const Scalar& color, int thickness = 1, int lineType = 8, int shift = 0 원 그리기
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 타원 그리기
void ellipse Mat& img, const RotatedRect& box, const Scalar& color, int thickness = 1, int lineType = 8, int shift = 0 타원 그리기

이미지 파일 처리

반환형 이름 파라미터 내용
Mat imread() const string& filename, int flags = 1 지정된 파일로부터 영상을 로드하여 Mat 클래스로 반환한다
bool imwrite() const string* filename, InputArray img, const vector<int>& params = vector<int>() 지정된 파일에 img 행렬을 영상으로 저장한다.

비디오 처리

VideoCapture

반환형 이름 파라미터 내용
VideoCapture()   생성자
bool open()   동영상 캡쳐를 위한 동영상 파일 혹은 캡쳐 장치를 개방한다.
bool isOpened()   캡쳐 장치의 연결 여부를 반환한다.
bool release()   동영상 파일이나 캡쳐 장치를 해제한다.
double get()   비디오 캡쳐의 속성 식별자로 지정된 속성의 값을 반환한다. 캡쳐 장치가 제공하지 않는 속성은 0을 반환한다.
bool set()   지정된 속성식별자로 비디오캡쳐의 속성을 설정한다.
bool grab()   캡쳐 장치나 동영상 파일로부터 다음 프레임을 잡는다.
bool retrieve()   grab()으로 잡은 프레임을 디코드해서 image 행렬로 전달한다.
bool read(), >>   다음 동영상 프레임을 잡아서 디코드하고 image 행렬로 전달한다. 즉, grab()과 retrieve()를 동시에 수행한다.

VideoWriter

반환형 이름 파라미터 내용
VideoWriter   생성자
bool open()   영상을 동영상 파일의 프레임으로 저장하기 위해 동영상 파일을 개방한다.
bool isOpened()   동영상 파일 저장을 위해 VideoWriter 객체의 개방 여부를 확인한다.
void write(), <<   image 행렬(프레임)을 동영상 파일로 저장한다.

데이터의 파일 저장 및 읽기

FileStorage

반환형 이름 파라미터 내용
FileStorage()   생성자
bool open()   파일 열기
bool isOpened()   클래스에 지정된 파일이 열려 있는지 확인.
bool release()   파일을 닫고 모든 메모리 버퍼를 해제한다.
void writeRaw()   다중의 숫자들을 저장한다. 데이터를 raw 파일로 저장한다.

FileNode

반환형 이름 파라미터 내용
FileNode()   생성자
string name()   노드 이름을 반환한다.
size_t size()   노드에서 원소의 개수를 반환한다.
bool empty()   노드가 비어있는지 확인한다.
bool isNamed()   노드가 이름이 있는지 확인한다.
bool isNone()   노드가 “none” 객체인지 확인한다.
bool isInt() isReal()   노드타입이 정수형, 실수형인지 확인한다.
bool isString()   노드타입이 문자열형인지 확인한다.
bool isMap(), isSeq()   노드의 종류가 매핑인지 시퀀스인지 확인한다.
[ssba]

The author

지성을 추구하는 디자이너/ suyeongpark@abyne.com

댓글 남기기

This site uses Akismet to reduce spam. Learn how your comment data is processed.