티스토리 뷰

OpenCV

OpenCV Smoothing Median Filter error

duckchan.seo 2016. 10. 31. 00:09

OpenCV Smoothing 과정에서 미디언 필터를 사용하다가 보면 아래와 같은 run time error를 만나게 되는 경우가 있다.

 

OpenCV Error: Assertion failed (ksize % 2 == 1) in medianBlur, file /opt/local/var/macports/build/_opt_mports_dports_graphics_opencv/opencv/work/
opencv-2.4.10/modules/imgproc/src/smooth.cpp, line 1665
libc++abi.dylib: terminating with uncaught exception of type cv::Exception: /opt/local/var/macports/build/_opt_mports_dports_graphics_opencv/opencv/work/
opencv-2.4.10/modules/imgproc/src/smooth.cpp:1665: error: (-215) ksize % 2 == 1 in function medianBlur

 

원인은 cvSmmoth의 param1, param2 중 하나가 even number이기 때문이다.  스무딩(블러)를 위한 filter size가 even 설정해서 나는 오류이므로 odd number로 수정하면 된다.

참고로 OpenCV Smmothing 문서에서도 아래와 같이 가이드를 주고 있다.

 

  • i: Size of the kernel (only one because we use a square window). Must be odd.

 

댓글