我试图遮住我的图像的一个区域,这样我就可以得到一个形状的平均颜色。我用下面的代码创建了一个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']
有人能帮我吗??
暂无答案!
目前还没有任何答案,快来回答吧!