原文链接:http://www.juzicode.com/opencv-error-medianblur-assert-failed-ksize-not-odd
错误提示:
用medianBlur做平滑处理时提示opencv\modules\imgproc\src\median_blur.dispatch.cpp:285: error: (-215:Assertion failed) (ksize % 2 == 1) && (_src0.dims() <= 2 ) in function ‘cv::medianBlur’
#VX公众号:桔子code / juzicode.com
import cv2
print('cv2.__version__:',cv2.__version__)
img = cv2.imread('lena.jpg')
ret_img = cv2.medianBlur(img,12)
cv2.imshow('img',ret_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
==========运行结果:
cv2.__version__: 4.5.2
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-6-2ec16514e630> in <module>
4
5 img = cv2.imread('lena.jpg')
----> 6 ret_img = cv2.medianBlur(img,12)
7 cv2.imshow('img',ret_img)
8 cv2.waitKey(0)
error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-kuwfz3h3\opencv\modules\imgproc\src\median_blur.dispatch.cpp:285: error: (-215:Assertion failed) (ksize % 2 == 1) && (_src0.dims() <= 2 ) in function 'cv::medianBlur'
错误原因:
1、medianBlur的ksize不能为偶数,必须为奇数
解决方法:
1、medianBlur的ksize必须为奇数,将12修改为13
#VX公众号:桔子code / juzicode.com
import cv2
print('cv2.__version__:',cv2.__version__)
img = cv2.imread('lena.jpg')
ret_img = cv2.medianBlur(img,13)#ksize修改为奇数
cv2.imshow('img',ret_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
扩展内容:
如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。