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 (0) | 2021.05.29 |
OpenCV 영상처리 기본 개념 (0) | 2021.05.28 |