我尝试将所有库放在我的项目中(它描述为解决这个问题的方法),但仍然存在同样的问题。
Mat m = Highgui.imread("Koala.jpg");
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.highgui.Highgui.imread_1(Ljava/lang/String;)J
at org.opencv.highgui.Highgui.imread_1(Native Method)
at org.opencv.highgui.Highgui.imread(Highgui.java:352)
at Open.main(Open.java:26)
答案 0 :(得分:22)
我收到同样的错误,下面的内容对我有用。
的System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
答案 1 :(得分:1)
Java当前无法看到OpenCV,因此链接错误。
我在Mac上,所以我链接到我的驱动器上的位置:
System.load( "/opt/local/share/OpenCV/java/libopencv_java246.dylib" )
您也可以将JAR直接包含在项目的lib文件夹中,但我通过指向dylib获得了成功。
答案 2 :(得分:-1)
在项目属性中将路径设置为C:\ opencv \ build \ java \ x64。 在Netbeans中,它是project-properties-run-vmoptions = -Djava.library.path =" C:\ opencv \ build \ java \ x64"
在Eclipse中,添加库Window-prreference-java-buildpath-userlibraries-new-opencv ,,,添加外部jar(添加opencv-300 jar) 将opencv中的本机库设置为C:\ opencv \ build \ java \ x64。并将库添加到我们的项目中。
并阅读图像使用Imgcodecs.imread, Mat img = Imgcodecs.imread(" C:\ Users \ softroniics \ Documents \ NetBeansProjects \ SceneRecogintion \ src \ com \ SR \ view \ burj.png");