IT/- 프로그래밍
OpenCV 이미지를 선명하게 하기(cvMul 함수)
혁준7519
2017. 4. 7. 07:08
이미지를 선명하게 하기(cvMul 함수)
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 41 42 43 44 45 46 | #include <opencv/cv.h> #include <opencv/highgui.h> void main() { IplImage *srcImage, *tempImage=0, *multiImage=0, *divImage=0; srcImage = cvLoadImage("D:/study/testimage.jpg", -1); //이미지 로드 //이미지객체 생성 //cvCreateImage(이미지크기, Depth, 채널수) tempImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 3); multiImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 3); divImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 3); //cvSet(결과이미지, 픽셀값, 마스크) : 행렬이나 이미지를 주어진 픽셀값으로 채움 cvSet(tempImage, cvScalarAll(1), NULL); //곱셈 : 명암대비 증가 -> 선명한 영상 //나눗셈 : 명암대비 감소 //cvMul(첫번째이미지, 두번째이미지, 결과이미지, 곱하는 상수) cvMul(srcImage, tempImage, multiImage,1.5); cvMul(srcImage, tempImage, divImage, 1/2.0); //create window cvNamedWindow("original", CV_WINDOW_AUTOSIZE); cvNamedWindow("multiply", CV_WINDOW_AUTOSIZE); cvNamedWindow("divide", CV_WINDOW_AUTOSIZE); //show window cvShowImage("original", srcImage); cvShowImage("multiply", multiImage); cvShowImage("divide", divImage); cvWaitKey(0); //release image cvReleaseImage(&srcImage); cvReleaseImage(&multiImage); cvReleaseImage(&divImage); } | cs |
결과