IT/- 프로그래밍
OpenCV 컬러영상을 흑백영상으로 변환하기
혁준7519
2017. 5. 12. 06:15
컬러영상을 흑백영상으로 변환하기
프레임에서 뽑은 컬러이미지를 흑백이미지로 변환하면 된다
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 40 | #include <opencv/cv.h> #include <opencv/highgui.h> void main() { IplImage *frameImage, *blackImage; //cvCaptureFromFile(파일명) : 동영상 파일 불러오기 CvCapture *video = cvCaptureFromFile("D:/study/testmedia.mov"); cvNamedWindow("video", CV_WINDOW_KEEPRATIO); //무한루프로 프레임 돌리며 이미지 구해서 재생 while (1) { //cvGrabFrame(동영상) : 하나의 프레임을 잡음 cvGrabFrame(video); //cvRetrieveFrame(동영상) : 잡은 프레임으로부터 이미지를 구함 frameImage = cvRetrieveFrame(video); if (!frameImage) { break; } blackImage = cvCreateImage(cvGetSize(frameImage), IPL_DEPTH_8U, 1); //cvCvtColor(원본이미지, 결과이미지, 변환모드) //변환모드 : CV_<src color code>2<dst color code> //color code : RGB, BGR, GRAY, HSV, YcrCb, XYZ, Lab, Luv, HLS cvCvtColor(frameImage, blackImage, CV_BGR2GRAY); //BGR 컬러이미지를 GRAY 흑백이미지로 변환 cvShowImage("video", blackImage); //윈도우에 이미지 표시 if (cvWaitKey(10) > 0) { break; } } //cvReleaseCapture(해제할 동영상) : 메모리에서 동영상 해제 cvReleaseCapture(&video); //resource 해제 cvReleaseImage(&blackImage); } | cs |
결과
흑백 영상이 재생된다