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);     
}

c


#공부
cvLoadImage(char *filename, int isColor)
-이미지 파일을 불러와서 그 이미지의 포인터를 반환한다.
-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"320240);
 
    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


#결과

+ Recent posts