好吧,你可能会说“使用谷歌搜索这个,有数百万”。但是,我几乎花了一整天才运行以下代码,但是每次尝试我都得到了 java.lang.UnsatisfiedLinkError: C:\用户\ HP \应用程序数据\本地的\ Temp \ jniopencv_core2477828805078034839.dll: 找不到依赖库错误,这让我很生气。
我找到 javacv-bin 文件夹,其中包括 javacpp.jar,javacv.jar,javacv-windows-x86.jar,javacv-windows-x86_64.jar 。
在Netbeans中,我打开了项目属性,并将它们添加到库中
我找到了 OpenCV2.3 文件夹,将其复制并粘贴到C:\目录中。
我添加了 C:\ OpenCV2.3 \ build \ bin; C:\ OpenCV2.3 \编译\ 86 \ VC10 \ BIN; 路径中的C:\ OpenCV2.3 \ build \ x64 \ vc10 \ bin; 。
我相信没有什么可做的。但是,自从我尝试以来,我都遇到了同样的错误。我很累,请有人帮助我。
最后要说的是,我有 32位和 64位 JDK,所以我尝试了两个编译器但它没用。
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
public class Smoother {
public static void main(String[] args) {
smooth("filename0.png");
}
public static void smooth(String filename) {
System.out.println("java.library.path="+System.getProperty("java.library.path"));
IplImage image = cvLoadImage(filename);
if (image != null) {
cvSmooth(image, image, CV_GAUSSIAN, 3);
cvSaveImage(filename, image);
cvReleaseImage(image);
}
}
}
答案 0 :(得分:2)
我遇到了和你一样的问题。假设您的openCV文件夹位置为C:\OpenCV2.3
,请执行以下操作。
在用户和系统环境变量下创建路径和类路径变量。
将此附加到所有四个变量(假设您拥有最新版本的openCV2.3):C:\OpenCV2.3\build\bin;C:\OpenCV2.3\build\x64\mingw\bin;C:\OpenCV2.3\build\x64\vc9\bin;C:\OpenCV2.3\build\x64\vc10\bin;C:\OpenCV2.3\build\x86\mingw\bin;C:\OpenCV2.3\build\x86\vc9\bin;C:\OpenCV2.3\build\x86\vc10\bin;
希望它有所帮助! 阿拉文德
答案 1 :(得分:1)
两个提示:
答案 2 :(得分:0)
我从未使用过OpenCV,但不知怎的,我让我的JNI代码工作。你生成了.dll还是它附带了包?并查看这篇文章,它可能是Ohelp JNI error while calling a C subroutine ...还有一个建议尝试将你的dll放入system32文件夹,然后使用System.load(path / to / dll)方法手动加载...快乐编码
答案 3 :(得分:0)
如果有人遇到此问题且更新了系统路径和类路径未解决,请将OpenCv2.3.1目录重命名为“opencv”。它确实解决了我的问题。