Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EclipseOpenCV图像路径不';行不通_Java_Eclipse_Opencv - Fatal编程技术网

Java EclipseOpenCV图像路径不';行不通

Java EclipseOpenCV图像路径不';行不通,java,eclipse,opencv,Java,Eclipse,Opencv,我什么都试过了,但这里似乎什么都不管用。我只想用OpendCV读取一个图像。代码如下: Mat image = Highgui.imread("/src/resources/figures.png"); 这在MainApp.java中 但仍然得到相同的错误: OpenCV Error: Assertion failed ((scn == 3 || scn == 4) && (depth == CV_8U || depth == CV_32F)) in cv::cvtColor

我什么都试过了,但这里似乎什么都不管用。我只想用OpendCV读取一个图像。代码如下:

Mat image = Highgui.imread("/src/resources/figures.png");
这在MainApp.java中

但仍然得到相同的错误:

OpenCV Error: Assertion failed ((scn == 3 || scn == 4) && (depth == CV_8U || depth == CV_32F)) in cv::cvtColor, file ..\..\..\..\opencv\modules\imgproc\src\color.cpp, line 3961
这个figures.png图像就是我想要得到的,我在com.ia包内外都放了相同的文件,但仍然没有任何效果。我试过:

Mat image = Highgui.imread("figures.png");
Mat image = Highgui.imread("src/com/ia/figures.png");
Mat image = Highgui.imread("/src/com/ia/figures.png");
Mat image = Highgui.imread("/com/ia/figures.png");

还有更多的组合,谁能帮帮我,我快疯了。我对其他项目也有同样的问题,eclipse的文件路径有什么问题?

不满意的链接错误
是因为OpenCV库没有链接,您可以先这样加载库:

System.loadLibrary("lib_name");

然后再试一次

你是对的,但我仍然有图像的问题:(你可以把图像放在源代码之外,你可以在项目文件夹下创建一个文件夹名=img(与src文件夹的级别相同),然后把图像放在那里,然后将路径指向该图像(“/img/imge.png”)如果您在src文件夹中放入任何内容,那么编译器会将其编译到bin文件夹,与编译到.class文件的.java文件相同。然后您可以读取这些资源bu ClassName.class.getResourceAsStream(“资源名称”)。它必须工作。您可以在项目文件夹下创建一个文件夹,然后将图像放入该文件夹,然后尝试以下操作:
Mat image=Highgui.imread(“img/figures.png”);
但是如果您仍然存在不满意的LinkError问题,那么您可以先解决这个问题,然后一步一步地进行。这不是确切的解决方案,但它很有帮助。您使用的是哪个版本的opencv?您使用了哪个教程将其包含到eclipse中?您可以始终将图像读取到“文件”中还值得注意的是,执行和调试可以使用不同的路径(至少在netbeans中会发生这种情况)