Android中使用OpenCV3.3.0进行图片比较报错。OpenCV Error:Assertion failed

新手上路,请多包涵

opencv-3.3.0-android-sdk
AndroidStudio2.3.3
Nexus6, Android6.0

private void compareImg(Bitmap bitmap1, Bitmap bitmap2){ 
    Mat mat1 = new Mat(); 
    Mat mat2 = new Mat(); 
 
    Utils.bitmapToMat(bitmap1, mat1); // 将bitmap数据放入Mat 
    Utils.bitmapToMat(bitmap2, mat2); //  
 
    Mat matGray1 = new Mat(); 
    Mat matGray2 = new Mat(); 
 
    Imgproc.cvtColor(mat1, matGray1, Imgproc.COLOR_BGR2GRAY); // 转换彩色数据为灰度数据 
    Imgproc.cvtColor(mat2, matGray2, Imgproc.COLOR_BGR2GRAY); 
 
    matGray1.convertTo(matGray1, CvType.CV_32F); 
    matGray2.convertTo(matGray2, CvType.CV_32F); 
 
    double target = Imgproc.compareHist(matGray1, matGray2, Imgproc.CV_COMP_CORREL); // 报错的代码 
}

出现的错误反馈:

com.cuiweiyou.testopencv E/cv::error(): 
  OpenCV Error: 
    Assertion failed (A.size == arrays[i0]->size) 
    in void cv::NAryMatIterator::init(const cv::Mat**, cv::Mat*, uchar**, int), 
    file /build/master  pack-android/opencv/modules/core/src/matrix.cpp, line 4790

com.cuiweiyou.testopencv E/org.opencv.imgproc: 
  imgproc::compareHist  10() caught cv::Exception: /build/master  pack-android/opencv/modules/core/src/matrix.cpp:4790: 
    error: (-215) A.size == arrays[i0]->size 
    in function void cv::NAryMatIterator::init(const cv::Mat**, cv::Mat*, uchar**, int)

com.cuiweiyou.testopencv E/AndroidRuntime: 
  FATAL EXCEPTION: 
    main Process: com.cuiweiyou.testopencv, PID: 9817
    CvException [org.opencv.core.CvException: cv::Exception: /build/master  pack-android/opencv/modules/core/src/matrix.cpp:4790: 
      error: (-215) A.size == arrays[i0]->size 
        in function void cv::NAryMatIterator::init(const cv::Mat**, cv::Mat*, uchar**, int)]
      at org.opencv.imgproc.Imgproc.compareHist  0(Native Method)
      at org.opencv.imgproc.Imgproc.compareHist(Imgproc.java:767)

我尝试修改这行代码里的最后参数"Imgproc.cvtColor(mat1, matGray1, Imgproc.COLOR BGR2GRAY);",使用"Imgproc.COLOR BGRA2GRAY"或其它几个也失败。

请网友帮忙,谢谢!

阅读 8.2k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题