본문 바로가기

OpenCV/c++

OpenCV 기본 동작

Mat a;

: 이미지 받아오는 객체

a.empty(): 불러올수 없는 경우

 

1. 이미지 관련

imread( " .jpg", IMREAD_COLOR) : 이미지 불러오기

 

imshow("윈도우 이름", Mat 객체) : 윈도우에 이미지 띄우기 

 

waitKey(0) : 키보드 입력까지 대기, return 값이 있음

- esc 는 27

 

cvtColor( 기존 이미지, 변경된 이미지 저장, 변경 방식)

 

2. 동영상

: 동영상은 연속적인 이미지로 다루어짐

: 카메라 인덱스를 알아야 하는데, 연결한 순서대로임. 처음 연결한 카메라의 인덱스가 0

 

VideoCapture  객체 사용

1) VideoCapture a(0); -> 숫자는 카메라 인덱스

 

2) a.read(Mat 객체) 로 불러옴

: 실패하면 false 리턴

3) 윈도우에 이미지 띄우기

imshow("이름", a);

 

4) 카메라와 연결 끊기

a.release()

 

3. 동영상 저장하기

1) 크기를 알아야되니까 일단 캡쳐 한번 하고 size 측정함

bool ret = cap.read(img_frame);

 

2) 동영상 객체 생성 VideoWriter

 

3) 저장하기

vw.wrtie(MAT 객체) -> 루프 안에서 frame을 계속 저장

vm.release() : 저장 마무리

 

4) 재생하기

- 객체 생성시 동영상 파일 불러오기

VideoCapture cap("output.avi");

-> waitkey로 속도 조절: 이게 실제 속도라기보다는, 입력받을 시간을 대기하는 함수인데, 대기하는걸 길게 하면 frame간의 간격이 길어지는 거니까 속도가 느려지는거랑 같은 현상

'OpenCV > c++' 카테고리의 다른 글

마우스 이용해서 도형 그리기( c++)  (0) 2021.05.29
OpenCV 기본 제공 GUI  (2) 2021.05.29
OpenCV 영상처리 기본 개념  (0) 2021.05.28