Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

:)

OpenCV 영상 불러와서 출력하기 본문

컴퓨터비전

OpenCV 영상 불러와서 출력하기

mihee 2022. 3. 15. 09:16

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