RGB이미지를 HSV이미지, 흑백이미지로 변환하기 (cvCvtColor 함수)



c++)

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
38
39
#include <opencv/cv.h>
#include <opencv/highgui.h>
 
 
void main() {
    IplImage *hsvImage = 0*grayImage;
    IplImage *srcImage = cvLoadImage("D:/study/testimage.jpg"-1);
    
 
    //create image
    hsvImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 3);
    grayImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 1);    //흑백영상으로 할것이므로 채널을 1로 설정
 
 
    //영상변환
    //cvCvtColor(원본이미지, 결과이미지, 변환모드)
    //변환모드 : CV_<src color code>2<dst color code>
    //color code : RGB, BGR, GRAY, HSV, YcrCb, XYZ, Lab, Luv, HLS
    cvCvtColor(srcImage, hsvImage, CV_RGB2HSV);
    cvCvtColor(srcImage, grayImage, CV_RGB2GRAY);
 
 
 
    //create window
    cvNamedWindow("RGB image", CV_WINDOW_AUTOSIZE);
    cvNamedWindow("HSV image", CV_WINDOW_AUTOSIZE);
    cvNamedWindow("GRAY image", CV_WINDOW_AUTOSIZE);
    //show window
    cvShowImage("RGB image", srcImage);
    cvShowImage("HSV image", hsvImage);
    cvShowImage("GRAY image", grayImage);
 
    cvWaitKey(0);
 
    //release image
    cvReleaseImage(&srcImage);
    cvReleaseImage(&hsvImage);
    cvReleaseImage(&grayImage);
}
cs



결과



+ Recent posts