我正在特灵使用opencv和java来进行人脸检测,在这个过程中我发现了这个“JNI2OPENCV”文件....但是我对如何使它工作感到困惑,有人能帮助我吗?
http://img519.imageshack.us/img519/4803/askaj.jpg
下面是FaceDetection.java
class JNIOpenCV {
static {
System.loadLibrary("JNI2OpenCV");
}
public native int[] detectFace(int minFaceWidth, int minFaceHeight, String cascade, String filename);
}
public class FaceDetection {
private JNIOpenCV myJNIOpenCV;
private FaceDetection myFaceDetection;
public FaceDetection() {
myJNIOpenCV = new JNIOpenCV();
String filename = "lena.jpg";
String cascade = "haarcascade_frontalface_alt.xml";
int[] detectedFaces = myJNIOpenCV.detectFace(40, 40, cascade, filename);
int numFaces = detectedFaces.length / 4;
System.out.println("numFaces = " + numFaces);
for (int i = 0; i < numFaces; i++) {
System.out.println("Face " + i + ": " + detectedFaces[4 * i + 0] + " " + detectedFaces[4 * i + 1] + " " + detectedFaces[4 * i + 2] + " " + detectedFaces[4 * i + 3]);
}
}
public static void main(String args[]) {
FaceDetection myFaceDetection = new FaceDetection();
}
}
有没有人能告诉我,我怎么才能让这个工作在Netbeans上??我试过谷歌,但在这个特定的主题上的帮助是非常meger。
我已经在netbeans项目中添加了整个文件夹作为Llibrary,当我试图运行该文件时,我得到了以下错误。Exception in thread "main" java.lang.UnsatisfiedLinkError: FaceDetection.JNIOpenCV.detectFace(IILjava/lang/String;Ljava/lang/String;)[I at FaceDetection.JNIOpenCV.detectFace(Native Method) at FaceDetection.FaceDetection.<init>(FaceDetection.java:19) at FaceDetection.FaceDetection.main(FaceDetection.java:29) Java Result: 1 BUILD SUCCESSFUL (total time: 2 seconds)
有人能告诉我具体的处理方法吗?比如我要做的是什么?
3条答案
按热度按时间rryofs0p1#
如果您在Windows上使用JNI,Dependency Walker将是您的朋友。
但是,在我们开始之前,首先验证JRE是否可以通过添加以下内容找到您的JNIOpenCV.dll:
System.out.println("java.library.path="+System.getProperty("java.library.path"));
到静态构造函数块。但是,我认为这里的问题不是找到您的JNIOpenCV.dll文件,而是找到它所依赖的文件。(只需将其拖到那里)并查看任何错误消息(msjava.dll除外--忽略它,这无关紧要)。我的直觉很可能是您需要MicrosoftVisualC/C++运行时库,请从VisualStudio网站下载它们并将它们放在与dll相同的文件夹中。
祝你好运!
vm0i2vca2#
你应该看一下这里,有几个例子是用JNI连接起来的:
http://code.google.com/p/android-opencv/
34gzjxbg3#
我已经使用OpenCV 2.3.1和Eclipse(而不是Netbeans)创建了一个可工作的Android示例。
这个小的tutorial描述了一个跟随手电筒的机器人。这个页面包含了必要的步骤和源代码。