OpenCV错误:断言失败(对于GaussianBlur,ksize.width> ......

Mr.*_*.Fu 8 java opencv gaussian

当我调用Imgproc.GaussianBlur(dst,dst,new Size(3,3),1); 在我的应用程序中,它工作得很好.一旦我将内核大小增加到新的大小(4,4),否则我得到一个

OpenCV Error: Assertion failed (ksize.width > 0 && ksize.width % 2 == 1 && ksize.height > 0 && ksize.height % 2 == 1) in cv::createGaussianFilter, file
Run Code Online (Sandbox Code Playgroud)

........\opencv\modules\imgproc\src\smooth.cpp,第816行引起:CvException [org.opencv.core.CvException:cv :: Exception:........\opencv\modules\imgproc\src\smooth.cpp:816:错误:(-215)ksize.width> 0 && ksize.width%2 == 1 && ksize.height

函数cv :: createGaussianFilter中的0 && ksize.height%2 == 1 org.opencv.imgproc.Imgproc.GaussianBlur_1(本机方法)org.opencv.imgproc.Imgproc.GaussianBlur(Imgproc.java:533)

可以请有人把我放在正确的轨道上吗?我不知道在哪里/什么寻找这个.

谢谢.

小智 20

正如我从追踪中所理解的那样,你只能被允许在new Size(x,y)哪里使用x并且y很奇怪

  • 换句话说:内核大小必须是奇数. (5认同)