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



我有此OpenCV代码。这使我在页面中发现的图像进行了卷积。我想尝试一下,但是它给出以下错误,我对OpenCV了解不多。我需要帮助。

错误:openCV错误:断言失败(dims&lt; = 2&amp;&amp;&amp;&amp;&amp; step [0]> 0)在cv :: mat :: locateroi中-vc14 static opencv 模块 core src 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());
  }
   }
}

有相同的错误,并遵循了@miki的非常有价值的提示。就我而言,由于不适合的位深度,图像没有正确加载。32而不是8位用于灰度图像。

我有相同的错误,我在文件名中写了png而不是jpg。确保使用适当的扩展名/名称

加载图像

看起来您的源和目的地是单个通道,而您的内核为3个通道。

我在写图片的整个路径之前都有相同的错误存在

这是我所做的:

pic = cv2.imread('C:UsersWSIDesktoppython_scriptshakuoki.jpg',cv2.IMREAD_COLOR)

相关内容

最新更新