Я использую opencv и java для обнаружения лиц, и в этом преследовании я нашел этот файл JNI2OPENCV .... но я смущен тем, как заставить его работать, может ли кто-нибудь мне помочь?OpenCV для JNI, как заставить его работать?
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 ?? Я попробовал Google, но помощь по этой теме очень сложна.
Я добавил всю папку как Llibrary в проект netbeans, и я попытаюсь запустить файл, я получаю следы последователей.
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)
кто-нибудь сказать мне точный способ работать с этим? как все, что я должен делать?
Привет, спасибо миллион за ответ ...... хотя я havnt проверил java.library.path thingy ... я открыл JNI2OpenCV.dll в ходу зависимости и мог многое понять, помог бы мне в этом? http://img221.imageshack.us/img221/5042/helpf.jpg – user293252
Здесь я добавил и нашел java.library.path 'java.library.path = C: \ Program Files \ Java \ jdk1. 6.0_18 \ Bin;; C:. \ WINDOWS \ Sun \ Java \ Bin; C: \ WINDOWS \ system32; C: \ WINDOWS; C: \ WINDOWS \ system32; C: \ WINDOWS; C: \ WINDOWS \ system32 \ WBEM C: \ Program Files \ Intel \ DMIX; C: \ OpenCV2.0 \ bin; C: \ Sun \ SDK \ jdk \ bin; C: \ Program Files \ QuickTime \ QTSystem \; C: \ Program Files \ MySQL \ MySQL Server 5.1 \ bin; C: \ Sun \ SDK \ bin ' – user293252
Похоже, что ходок зависимости выглядит хорошо, MSJAVA и MPR обычно имеют ошибки, поэтому, если все остальное, что не видно, прекрасно, если это нормально. System.loadLibrary() ищет библиотеку в указанном выше пути, а поскольку вашей DLL нет, она не загружается. Вы можете либо переместить его, либо использовать System.load(), который ожидает полный путь и имя файла (и расширение) для DLL. – ianium