:)
OpenCV 영상 불러와서 출력하기 본문
OpenCV 주요 함수 설명
영상 파일 불러오기
Mat imread(const String& filename, int flags = IMREAD_COLOR);
- filename : 불러올 영상 파일 이름
- flags : 영상 파일 불러오기 옵션 플래그
- IMREAD_UNCHANGED : 영상 속성 그대로 읽기. ex)투명한 PNG 파일 -> 4채널(B,G,R,0)영상
- IMREAD_GRAYSCALE : 1채널 그레이스케일 영상으로 읽기
- IMREAD_COLOR : 3채널 BGR 컬러 영상으로 읽기(Default)
- 반환값 : 불러온 영상 데이터 (Mat : 객체)
비어 있는 Mat 객체 확인
bool Mat::empty() const
- 반환값 : rows, cols, data 멤버 변수가 0이면 true를 반환.
영상 파일 저장하기
bool imwrite(const String& filename, InputArray img, const std::vector<int>& params = std::vector<int>());
- filename : 저장할 영상 파일 이름. 파일 이름에 포함된 확장자를 분석하여 해당 파일 형식으로 저장됨.
- img : 저장할 영상 데이터 (Mat 객체)
- params : 파일 저장 옵션 지정(속성 & 값의 정수 쌍). ex)JPG 압축율을 90%로 지정 -> {IMWRITE_JPEG_QUALITY,90}
- 반환값 : 정상적으로 저장하면 true, 실패하면 false
새 창 띄우기
void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE);
- winname : 창 고유 이름. 이 이름으로 창을 구분함
- flags : 창 속성 지정 플래그
- WINDOW_NORMAL : 영상 크기가 창 크기에 맞게 지정됨
- WINDOW_AUTOSIZE : 창 크기가 영상 크기에 맞게 자동으로 변경됨
- WINDOW_OPENGL : OpenGL 지원
창 닫기
void destroyWindow(const String& winname);
void destroyAllWindows();
- winname : 닫고자 하는 창 이름
- 일반적인 경우 프로그램 종료 시 운영 체제에 의해 열려 있는 모든 창이 자동으로 닫힘.
창 위치 지정
void moveWindow(const String& winname, int x, int y);
- winname : 창 이름
- x, y : 이동할 위치 좌표
창 크기 지정
void resizeWindow(const String& winname, int width, int height);
- 윈도우가 WINDOW_NORMAL 속성으로 생성되어야 동작함.
영상 출력
void imshow(const String& winname, InputArray mat);
- winname에 해당하는 창이 없으면 WINDOW_AUTOSIZE 속성의 창을 새로 만들고 영상을 출력함
- 실제로는 waitKey() 함수를 호출해야 화면에 영상이 나타남.
키보드 입력 대기
int waitKey(int delay = 0);
- delay : 밀리초 단위 대기 시간. delay <= 0 이면 무한히 기다림.
- 반환 값 : 눌린 키 값. 키가 눌리지 않으면 -1
- waitKey() 함수는 OpenCV 창이 하나라도 있어야 정상 동작함.
- imshow() 함수 호출 후에 waitKey() 함수를 호출해야 영상이 화면에 나타남.
'컴퓨터비전' 카테고리의 다른 글
OpenCV 그리기 함수 (0) | 2022.03.18 |
---|---|
카메라와 동영상 처리 (0) | 2022.03.17 |
OpenCV 주요 클래스 (0) | 2022.03.16 |
영상 데이터 구조와 표현 방법 / 영상 파일 형식과 특징 (0) | 2022.03.14 |
컴퓨터 비전 개요 (0) | 2022.03.14 |
Comments