이미지 가우시안 필터링 하기
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 *srcImage = cvLoadImage("D:/study/testimage.jpg", -1); IplImage *rstImage1 = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 3); IplImage *rstImage2 = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 3); //cvSmooth : 이미지 스무딩(=블러링) 함수 //cvSmooth(원본이미지, 결과이미지, 스무딩 형태, 마스크가로크기, 마스크 세로크기, 가우시안 마스크인 경우 표준편차1, 표준편차2) //스무딩 형태 //CV_BLUR : 단순 블러링(param1 x param2 영역의 평균값을 이용한 블러링) //CV_GAUSSIAN : 가우시안 블러링 //CV_MEDIAN : 중앙값 블러링(param1 x param2 영역의 중앙값을 이용한 블러링) cvSmooth(srcImage, rstImage1, CV_GAUSSIAN, 5, 5, 4, 0); //마스크 크기가 5x5이며 표준편차가 2인 경우 cvSmooth(srcImage, rstImage2, CV_GAUSSIAN, 5, 5, 8, 0); //ps. 가우시안 필터링은 표준편차가 클수록 더 흐릿해진다 //create window cvNamedWindow("source image", CV_WINDOW_AUTOSIZE); cvNamedWindow("sigma4 image", CV_WINDOW_AUTOSIZE); cvNamedWindow("sigma8 image", CV_WINDOW_AUTOSIZE); //show window cvShowImage("source image", srcImage); cvShowImage("sigma4 image", rstImage1); cvShowImage("sigma8 image", rstImage2); cvWaitKey(0); //release image cvReleaseImage(&srcImage); cvReleaseImage(&rstImage1); cvReleaseImage(&rstImage2); } | cs |
결과
'IT > - 프로그래밍' 카테고리의 다른 글
OpenCV 잡음이 있는 이미지 생성하기 (가우시안 잡음) (0) | 2017.04.21 |
---|---|
OpenCV 이미지 샤프닝(세세한 부분을 강조) 하기 (0) | 2017.04.20 |
OpenCV 이미지 중앙값 필터링 하기 (0) | 2017.04.18 |
OpenCV 사용자가 지정한 마스크로 컨벌루션하기 (0) | 2017.04.17 |
OpenCV 이미지 블러링 하기 (0) | 2017.04.16 |