2017-07-03 4 views
2

Ich benutze opencv 3.2.0 und versuche die Gesichtserkennung zu starten.opencv 3.2.0 java Gesichtserkennung Ubuntu

Ich bin mit dem Problem konfrontiert, dass die Face-Klasse in org.opencv.face.Face leer ist. Dies alles geschieht in der Datei enthalten:

// 
// This file is auto-generated. Please don't modify it! 
// 
package org.opencv.face; 
public class Face { 
} 

Von dem, was ich gelesen habe ich hinzufügen müssen ‚Java‘ auf die CMakeLists.txt von Face contrib-Modul, um es ins Finale Glas hinzuzufügen wie

ocv_define_module(face opencv_core opencv_imgproc opencv_objdetect WRAP python java) 

um den Compiler zu sagen, die contrib Module i

-D 
OPENCV_EXTRA_MODULES_PATH=$YOUR_OPENCV_CONTRIB_PATH/opencv_contrib- 
3.2.0/modules 

zum Cmake Befehl hinzufügen müssen schließen und es später zu machen, meine Befehle sind im allgemeinen wie folgt

1: cmake 
2: make -j5 

ich keine Fehler, wenn und Gebäude Kompilieren und ich bekomme mein Glas, , die ich für die Gesichtserkennung ohne Probleme verwenden und so weiter. Das Problem ist, dass die Face-Klasse leer ist und ich keinen FaceRecognizer erstellen kann. i wurde im Anschluss an diese Anleitung hier https://github.com/andreaiacono/OpenCVDemo - wie von 2017.06.01 und in der org.opencv.demo.core.RecognizerFactory Klasse verwendet er

return Face.createFisherFaceRecognizer(); 

, die als es mich verwenden kann nicht scheint.

Ich habe versucht zu suchen, ob die 3.2.0 Bibliotheken eine andere Möglichkeit haben, einen Erkenner zu erstellen, aber Google ist nicht sehr hilfreich, da es nur eine Handvoll Antworten auf alle Java opencv Probleme gibt.

Was könnte dazu führen, dass die Face-Klasse leer ist und/oder gibt es andere Möglichkeiten, Recognizer zu erstellen, falls 3.2.0 tatsächlich anders funktioniert?

Vielen Dank für die Zeit

Antwort

0

Ich habe eine Antwort auf meine vorherige Frage gefunden und ich es bin Entsendung für alle, um zu sehen, hoffe ich, dass ich mich wie eine andere verlorene Seele helfen könnte.

Ich habe mit Version 3.1.0 getestet und es scheint, dass die Klasse Gesicht NICHT leer ist. Der Nachweis, dass die Gesichtserkennung in 3.2.0 möglicherweise nicht korrekt implementiert wurde (zum Zeitpunkt des Schreibens).

stand ich Probleme mit richtig durch die Nutzung einiger Bibliotheken kompilieren:

/usr/include/c++/6.1.1/cstdlib:75:25: fatal error: stdlib.h: No such file or directory 
#include_next <stdlib.h> 

Eine Antwort, die ich für dieses Problem gefunden wurde, in https://github.com/opencv/opencv/issues/6517#issuecomment-219219767

nämlich enthalten diese in der Cmake gefunden:

cmake -DENABLE_PRECOMPILED_HEADERS=OFF 

Dies erlaubte mir, alles richtig zu kompilieren, und ich schaffte es, meinen Gesichtserkennungscode in Gang zu bringen :)

Viel Glück für alle

Verwandte Themen