这是我学习JavaCV的第一天。这是我用来确保我的设置正确完成的第一个测试示例。不幸的是我不能运行这个例子,我几乎不了解代码和所有依赖项,所以我很难找到缺少的东西。下面我将发布我的项目设置以及我得到的错误。
我使用的例子来自:http://ganeshtiwaridotcomdotnp.blogspot.com/2011/12/javacv-capture-save-flip-show-live.html
码
import static com.googlecode.javacv.cpp.opencv_core.cvFlip;
import static com.googlecode.javacv.cpp.opencv_highgui.cvSaveImage;
import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.FrameGrabber;
import com.googlecode.javacv.VideoInputFrameGrabber;
import com.googlecode.javacv.cpp.opencv_core.IplImage;
public class GrabberShow implements Runnable
{
//final int INTERVAL=1000;///you may use interval IplImage image;
CanvasFrame canvas = new CanvasFrame("Web Cam");
public GrabberShow()
{
canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
}
@Override
public void run()
{
FrameGrabber grabber = new VideoInputFrameGrabber(0); // 1 for next camera
int i = 0;
try
{
grabber.start();
IplImage img;
while (true)
{
img = grabber.grab();
if (img != null)
{
cvFlip(img, img, 1);// l-r = 90_degrees_steps_anti_clockwise
cvSaveImage((i++) + "-aa.jpg", img); // show image on window
canvas.showImage(img);
}
//Thread.sleep(INTERVAL);
}
}
catch (Exception e)
{
}
}
}
我使用Eclipse
,似乎所有导入都在那里。
这是我的项目的打印屏幕,如Eclipse
中所示:
所以这就是设置。我试图从中得到一些东西。当我右键单击该项目并尝试Run
为Java Application
时,会显示以下窗口:
您可以在窗口顶部看到我的选择。我得到一个错误窗口A Java Exception has occurred
,这是我在控制台窗口中收到的错误的一部分:
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Xman\AppData\Local\Temp\javacpp4929678155627\jniopencv_core.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
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:422)
at com.googlecode.javacpp.Loader.load(Loader.java:372)`
我已经阅读了错误,似乎这个问题是由于缺少库引起的,但我不确定,我也遵循了说明(事实并非如此)以及下面的评论示例代码似乎它确实有效。所以我想问题就在这里 - 在我的项目中,代码,设置,但我找不到我错过或做错的事。
答案 0 :(得分:1)
如果未在系统路径中设置opencv dll,则会发生此错误。 如果您已在C:\目录中解压缩opencv文件夹,请将路径设置为以下
对于32位:
C:\opencv\build\x86\vc10\bin;C:\opencv\build\common\tbb\ia32\vc10\
对于64位:
C:\opencv\build\x64\vc10\bin;C:\opencv\build\common\tbb\intel64\vc10\
如果您已在不同位置提取,则相应地更改路径。
要设置路径,您可以转到控制面板>系统安全>系统>高级系统设置>环境变量。在系统变量中选择路径,然后单击编辑并插入上面的位置并重新启动窗口。
您可以在http://opencvlover.blogspot.in/2012/04/javacv-setup-with-eclipse-on-windows-7.html
找到详细说明答案 1 :(得分:1)
下载并安装:Microsoft Visual C ++可再发行软件包(32位):vcredist_x86.exe