我目前正在尝试使用opencv和javacv来处理我的树莓派。
我已关注this tutorial
我相信我已经准备好了所有东西。
当前文件夹路径如下所示。
/home/pi/build - The three javacv libs (javacpp.jar, javacv.jar and javacv-linux-arm.jar)
the opencv jar is located at
/home/pi/build/opencv/opencv-2.4.11/release/bin - opencv-2411.jar
OpenCv带有一些我正在查看的java示例位于
home/pi/build/opencv/opencv-2.4.11/samples/java/eclipse/Hellocv/src/Main.java
这是代码本身。
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
public class Main {
public static void main(String[] args) {
System.out.println("Welcome to OpenCV " + Core.VERSION);
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println("m = " + m.dump());
}
}
当我编译它时(包含或不包含类路径),我得到错误
package.org.opencv.core does not exist.
编辑 - 如果相关,我也在使用新的Raspberry Pi 2 B +
编辑2/3(改进细节
用命中编译
javac -cp .:/home/pi/build/opencv/opencv-2.4.11/release/bin/opencv-2411.jar:/home/pi/build/opencv/opencv-2.4.11/release/lib Main.java
但是当我在“system.loadlibrary”
行运行它时失败了java -cp .:/home/pi/build/opencv/opencv-2.4.11/release/bin/opencv-2411.jar:/home/pi/build/opencv/opencv-2.4.11/release/lib Main
错误是
unsatisfiedlinkerror: no opencv_java2411 in java.library.path
我试过这个,但大多数解决方案都是针对Windows的。我提供了一个直接链接到我的类路径中的opencv_java2411.jar文件,所以我不确定它为什么不运行。
答案 0 :(得分:0)
尝试设置指向java OpenCV libs位置的java.library.path属性(从命令行或在Eclipse或您正在使用的任何IDE中)。例如,如果您有一个可运行的jar,请尝试
java -jar -Djava.library.path=/home/pi/build/lib app.jar
这也假设您已经构建了OpenCV,而java是构建的模块之一。一个很好的教程可以在http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html
答案 1 :(得分:0)
经过反思,我认为很大一部分原因是因为它不是编译的原因之一。例子,我并没有试图在日食中编译它。
我最终得到的解决方案是使用Ant来构建和编译java代码。
我的主要来源是如何做到这一点this opencv page
我应该注意,他们在该页面上显示的示例可以在samples子文件夹中找到,这样您就可以使用已经提供的内容节省一些时间。
还要感谢@nomis
答案 2 :(得分:0)
我有同样的问题,我只是通过这样做来解决它: 将opencv-2411.jar文件复制到程序所在的位置(Main.java) 并解压缩opencv-2411.jar文件
jar xf opencv-2411.jar