该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

求教,在用OpenCV java接口调用GrabCut图像分割函数时出现错误

代码为:

import org.opencv.core.*;

import org.opencv.highgui.Highgui;

import org.opencv.imgproc.*;

public class Test {

public static void main(String[] args) {

Mat img = Highgui.imread("image/2.jpg");

Mat mask = Mat.eye(800, 800, CvType.CV_8UC1); //图像大小为800*800

Rect rect = new Rect(0, 0, 700, 700);

Mat bgdModel = Mat.eye(1, 13*5, CvType.CV_64FC1);

Mat fgdModel = Mat.eye(1, 13*5, CvType.CV_64FC1);

Imgproc.grabCut(img, mask, rect, bgdModel, fgdModel, 1, 0);

Highgui.imwrite("D:\\mask.jpg", mask);

}

}

出现的错误:

OpenCV Error: Assertion failed (dtrm > std::numeric_limits::epsilon()) in unknown function, file ..\..\..\src\opencv\modules\imgproc\src\grabcut.cpp, line 216

Exception in thread "main" CvException [org.opencv.core.CvException: ..\..\..\src\opencv\modules\imgproc\src\grabcut.cpp:216: error: (-215) dtrm > std::numeric_limits::epsilon()

]

at org.opencv.imgproc.Imgproc.grabCut_0(Native Method)

at org.opencv.imgproc.Imgproc.grabCut(Imgproc.java:6528)

求教各位大神,怎么解决??

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐