Java-OpenCV错误:OpenCV错误:断言失败(dims <= 2 && step [0]> 0)

Jua*_*nez 5 java opencv

我有这个opencv代码.这使得我在页面中找到的图像卷积.我想尝试一下,但它给出了以下错误,我对openCV了解不多.我需要帮助.

错误:OpenCV错误:断言失败(dims <= 2 && step [0]> 0)在cv :: Mat :: locateROI中,文件C:\ build\master_winpack-bindings-win64-vc14-static\opencv\modules\core\src\matrix.cpp,第949行

public class main {

public static void main (String [ ] args) {

System.out.println ("hola");

 try {

     int kernelSize = 3;

     System.loadLibrary( Core.NATIVE_LIBRARY_NAME );

     Mat source = Imgcodecs.imread("logo.png", Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE);

     Mat destination = new Mat(source.rows(),source.cols(),source.type());

     Mat kernel = new Mat(kernelSize,kernelSize, CvType.CV_32F){
        {
           put(0,0,0);
           put(0,1,0);
           put(0,2,0);

           put(1,0,0);
           put(1,1,1);
           put(1,2,0);

           put(2,0,0);
           put(2,1,0);
           put(2,2,0);
        }
     };

     Imgproc.filter2D(source, destination, -1, kernel);

     Imgcodecs.imwrite("original.jpg", destination);

  } catch (Exception e) {

      System.out.println("Error: " + e.getMessage());
  }
   }

}
Run Code Online (Sandbox Code Playgroud)

Qua*_*ang 0

看起来你的源和目标是单通道,而你的内核是 3 通道。