반응형

OpenCV에서 cvLoadImage를 통해 이미지를 가져올 수 있고 -1을 입력하면 사진의 원본 그대로 가져오게 된다.

 

cvNamedWindow를 통해 윈도우를 생성해주고

cvShowImage를 통해 이미지를 윈도우에 뿌려준다.

 

cvWaitKey를 통해 이미지를 출력후 자동으로 종료되지 않게 해주고

 

마지막으로 cvReleaseImage를 통해 메모리 해제를 해준다.

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>
 
int main() {
    IplImage *image;
    uchar *data;
 
    // 이미지 불러오기
    image = cvLoadImage("D:/opencv/sources/samples/data/left02.jpg"-1);
 
    data = (uchar *)image->imageData;
 
    // 이미지 정보 출력
    // 채널의 수
    printf("nChannels :: %d\n", image->nChannels);
    // 0이면 왼쪽 상단, 1이면 왼쪽 하단이 원점
    printf("origin :: %d\n", image->origin);
    printf("width :: %d\n", image->width);
    printf("height :: %d\n", image->height);
    printf("widthStep :: %d (width * channels)\n", image->widthStep);
    printf("depth :: %d\n", image->depth);
    printf("imageSize :: %d bytes (width * height * channels)\n", image->imageSize);
    printf("imageData[50] :: %d\n", image->imageData[50]);
 
    // 이미지 출력
    // 아래 두 이름은 같게한다.
    cvNamedWindow("This is image", CV_WINDOW_AUTOSIZE);
    cvShowImage("This is image", image);
 
    // 아무키 누르면 종료됨
    cvWaitKey(0);
 
    // 메모리 할당 해제
    cvReleaseImage(&image);
    return 0;
}
cs


반응형