컴퓨터비전
OpenCV - 사진 출력하기
hydragon516
2018. 3. 5. 23:19
반응형
개인적인 취미로 OpenCV를 공부하면서 기록을 남겨보기로했다. 어쩌면 이 글이 OpenCV를 시작하는 사람들에게 도움이 될지도 모른다.
OpenCV는 Visual studio 2017로 빌드한다.
먼저 간단한 이미지를 불러와 출력하는 예제를 실행해보았다.
[소스코드]
1
2
3
4
5
6
7
8
9
10
11 |
#include <opencv\highgui.h>
int main() {
IplImage *image = cvLoadImage("apple.png");
cvNamedWindow("사과",1);
cvShowImage("사과",image);
cvWaitKey(0); cvReleaseImage(&image);
cvDestroyWindow("사과");
return 0;
} |
cs |
사용된 이미지 파일은 아래와 같다.
[결과]
[소스 설명]
cvNamedWindow() : 영상을 출력할 윈도우를 하나 만듬
cvNamedWindow("사과", 1); 밑줄 부분이 0이면 윈도우 창에 크기에 따라 사진이 변형됨, 1이면 고정
cvShowImage()함수는 생성된 영상을 해당 제목을 갖은 윈도우에 영상을 출력
cvWaitKey()함수는 프로그램의 동작을 잠시 멈추고 사용자로부터 키 입력을 기다림, 양의 정수일 경우 밀리초(millisecond) 단위로 지정한 시간동안 대기 (0이나 음수는 무제한)
cvDestroyAllWindows();사용도 가능
다시 말해 아래와 같이 소스코드를 작성하면 화면이 2개가 출력된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
#include <opencv\highgui.h>
int main() {
IplImage *image1 = cvLoadImage("apple.png");
IplImage *image2 = cvLoadImage("apple.png");
cvNamedWindow("사과1",1);
cvNamedWindow("사과2", 1);
cvShowImage("사과1",image1);
cvShowImage("사과2", image2);
cvWaitKey(0);
cvReleaseImage(&image1);
cvReleaseImage(&image2);
cvDestroyWindow("사과1");
cvDestroyWindow("사과2");
return 0;
} |
cs |
반응형