opencv mean,hsv plane中的掩码类型错误

quhf5bfb  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(175)

我试图遮住我的图像的一个区域,这样我就可以得到一个形状的平均颜色。我用下面的代码创建了一个bgr掩码,绘制了感兴趣的轮廓

Mat mask = Mat.zeros(srcImage.size(), CvType.CV_8UC3);
Imgproc.rectangle(mask, maxRectTl, maxRectBr, whiteColor, -1);

然后将其和原始图像转换为hsv图像:

Imgproc.cvtColor(srcImage, srcImage, Imgproc.COLOR_BGR2HSV);
Imgproc.cvtColor(mask, mask, Imgproc.COLOR_BGR2HSV);

之后,我计算了平均色调值的图像内轮廓与

Scalar averageInside = Core.mean(srcImage, mask);

这会引发异常

Exception in thread "AWT-EventQueue-0" CvException [org.opencv.core.CvException: cv::Exception: OpenCV(4.5.0) C:\build\master_winpack-bindings-win64-vc14-static\opencv\modules\core\src\mean.dispatch.cpp:126: error: (-215:Assertion failed) mask.empty() || mask.type() == CV_8U in function 'cv::mean']

有人能帮我吗??

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题