我目前正试图编写一个小程序来拍摄新生的照片,并通过他们的名字等来保存他们,以减轻铭文等。
所以这是我的问题,我找到了一个很好的教程来帮助我使用网络摄像头:http://www.codeproject.com/Tips/717283/How-to-use-OpenCV-with-Java-under-NetBeans-IDE
我可以运行这个项目没有错误,但当我试图导入一些代码,我得到了这个错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat()J
at org.opencv.core.Mat.n_Mat(Native Method)
at org.opencv.core.Mat.<init>(Mat.java:24)
at recupphoto.Ihm.<init>(Ihm.java:38)
at recupphoto.RecupPhoto.main(RecupPhoto.java:19)
Java Result: 1
当我执行这些行时出现错误:
Mat frame = new Mat();
MatOfByte mem = new MatOfByte();
这里是我的进口产品,如果它能帮助你找到:
import java.util.ArrayList;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import javax.imageio.ImageIO;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import org.opencv.core.Mat;
import org.opencv.core.MatOfByte;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.videoio.VideoCapture;
在编译时我得到了这个消息,不知道是否相关
注意:一些输入文件使用未检查或不安全的操作。注意:重新编译时使用-Xlint:unchecked查看详细信息。
两个错误出现(我猜)当Mat()被调用,但我找不到如何解决这个问题。
我真的应该在这里使用一些帮助或技巧!谢谢你的阅读,并为我糟糕的英语感到抱歉!
终于解决了我的问题,事实是我打电话给
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
太晚了,所以我移动了一点并解决了这个问题:)感谢所有花时间帮助我的人!
步骤1获取dependency walker应用程序。
步骤2浏览到相应的库文件夹。
步骤3看看缺少了什么,并得到它。
提示:
确保你得到的DLL是32位或64位的。
请确保使用正确的java(32位/64位)编译,具体取决于您提供的DLL。
最后,如果您缺少的依赖项从MSVCP***.dll开始下载Microsoft Visual c++包。再次关注建筑。我建议你从这一步开始。