그 외 공부
[opencv c++ 영상 다루기 공부] *두번째* 영상 출력하기
ssangeun
2015. 8. 11. 15:22
First. 사진 출력
#code
1
2
3
4
5
6
7
8
9
10
11 |
#include <highgui.h>
void main()
{
IplImage* image;
image = cvLoadImage("test.jpg", -1);
cvNamedWindow("test", CV_WINDOW_AUTOSIZE);
cvShowImage("test", image);
cvWaitKey(0);
cvReleaseImage(&image);
} |
#공부
① cvLoadImage(char *filename, int isColor)
-이미지 파일을 불러와서 그 이미지의 포인터를 반환한다.
-filename:이미지 파일
-filename:이미지 파일
isColor:이미지가 표현하는 색의 type
■ isColor>0 : 3가지 컬러 영상으로 (CV_LOAD_IMAGE_COLOR)
■ isColor=0 : 흑백 영상으로 (CV_LOAD_IMAGE_GRAYSCALE)
■ isColor<0 : 원래 영상이 가지고 있는 그대로 (CV_LOAD_IMAGE_UNCHANGED)
② cvNamedWindow(char *name, int flags)
-나타내는 윈도우 크기 조절, 생성
-name:윈도우 이름
flags:보여질 이미지의 크기에 맞게 윈도우 크기 조절 (0은 고정된 윈도우를 생성)
③ cvShowImage(const char *name, const CvArr *image)
-image로 받은 영상을 name이라는 타이틀의 윈도에 뿌려준다. 여기서 타이틀의 윈도우는 cvNamedWindow()함수로 미리 생성.
④ cvWaitKey(int delay CV_DEFAUKT(0))
-키 입력을 받을 수 있도록 대기시간을 가진다.
-cvWaitKey(0)은 어떠한 키 입력이 없을 때까지 무한히 윈도우창을 보여준다.
⑤ cvReleaseImage(IplImage **image)
-(**image)이미지 주소, 메모리 해제
#결과
Second. 실시간 동영상 출력
#code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 |
#include <highgui.h>
void main()
{
IplImage* image = 0;
CvCapture* capture = cvCaptureFromCAM(0);
cvNamedWindow("test", 0);
cvResizeWindow("test", 320, 240);
while (1) {
cvGrabFrame(capture);
image = cvRetrieveFrame(capture);
cvShowImage("test", image);
if (cvWaitKey(10) >= 0)
break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("test");
} |
cs |
#공부
① cvCaptureFromCAM(int flag)
■ flag=0 default camera
■ flag=-1 any camera
■ flag=1~99 your camera
#결과