반응형


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
#include <opencv/cv.h>
#include <opencv/highgui.h>
 
#define THRESHOLD 128
 
int main() {
    IplImage *image;
 
    int height, width;
    uchar *data;
 
    // 흑백은 left01.jpg , 컬러는 aero1.jpg
    image = cvLoadImage("D:/opencv/sources/samples/data/left01.jpg"-1);
    height = image->height;
    width = image->width;
    data = (uchar*)image->imageData;
    
    printf("height :: %d\nwidth :: %d\n", height, width);
    cvNamedWindow("imgWindow", CV_WINDOW_AUTOSIZE);
 
    for (int i = 0; i < height; i++)
        for (int j = 0; j < width; j++)
            data[i*width + j] > THRESHOLD ? data[i*width + j] = : data[i*width + j] = 255;
 
    cvShowImage("imgWindow", image);
 
    cvWaitKey(0);
 
    cvReleaseImage(&image);
    
    return 0;
}
cs


THRESHOLD, 임계값을 지정해주고 해당 위치의 픽셀이 임계값을 넘어가면 0, 그게 아니면 255로 두어 흑백 이진 영상을 생성할 수 있다.






반응형