Windows 7中的Javacv UnsatisfiedLinkError

在我的项目中,我想从我的网络摄像头捕获图像。

我按照“OpenCV-JavaCV:eclipse项目配置windows 7”博客文章中的说明逐步配置 。

配置完成后,我测试了样本代码,应用程序找到了我的网络摄像头

设置:设置设备0

设置:Namuga 1.3M网络摄像头

设置:无法使用SmartTee找到预览引脚

设置:捕获回调集

设置:设备已设置并准备捕获。

然后我得到一个错误,即.dll错误。

我使用的是Windows 7 x64。

Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\javacpp153028723186\jniopencv_core.dll: Can't find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(Unknown Source) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source) at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:418) at com.googlecode.javacpp.Loader.load(Loader.java:368) at com.googlecode.javacpp.Loader.load(Loader.java:315) at com.googlecode.javacv.cpp.opencv_core.(opencv_core.java:131) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.googlecode.javacpp.Loader.load(Loader.java:334) at com.googlecode.javacpp.Loader.load(Loader.java:315) at com.googlecode.javacv.cpp.opencv_core$CvArr.(opencv_core.java:158) at com.googlecode.javacv.VideoInputFrameGrabber.grab(VideoInputFrameGrabber.java:158) at GrabberShow.run(GrabberShow.java:24) at java.lang.Thread.run(Unknown Source) 

我怎么解决这个问题?

检查您的Opencv版本和JavaCv版本是否相互匹配。 您可以在javacv-bin上的自述文件中检查它是否具体说明了opencv所需的版本。

不满意的链接意味着找不到jniopencv_core.dll所需的所有本机代码库。

你是将它们全部部署还是仅部署到jniopencv_core.dll?

我在Windows XP和Windows 7上遇到了这个问题,这就是我使用Netbeans 7.2在两个平台上修复它的方法:

安装所有必需的软件:

  • FFmpeg (32位共享): Zeranoe FFmpeg提供win32版本。 下载并解压缩ffmpeg-20121020-git-04bf2e7-win32-shared.7z 。 将其内容放在C:\ffmpeg

注意 :确保C:\ffmpeg\bin是有效路径。

  • OpenCV 2.4.2 (32位):下载OpenCV-2.4.2.exe并解压缩。 将其内容放在C:\opencv

注意 :确保C:\opencv\build\x86\vc10\bin是有效路径。

  • JavaCV 0.2 :下载javacv-0.2-bin.zip并解压缩。 将解压缩的文件夹移动到C:\javacv-bin

  • Microsoft Visual C ++可再发行组件包 (32位):下载并安装vcredist_x86.exe 。

配置环境:

  • 编辑环境变量PATH并在末尾追加以下路径:

C:\ffmpeg\bin;C:\opencv\build\x86\vc10\bin

现在,您已准备好创建新的Netbeans项目并测试您的应用程序。 但在编译之前,请不要忘记右键单击pProjects窗口中的Libraries文件夹*并单击Add Jar / FOLDER以选择位于C:\javacv-bin所有.jar文件。

确保你有vm arg -Djava.library.path=指向你的dll目录。