Je suis nouveau sur ios. Actuellement, je travaille sur une application qui utilise opencv facetracker. Par conséquent, j'utilise C++ dans Objective-C. Mon problème est que le constructeur de la classe C++, qui gère la partie de facetracking, a besoin de l'emplacement du fichier cascade. Le constructeur ressemble à ceci:ios opencv filepath du fichier de cascade
VideoFaceDetector(const std::string cascadeFilePath);
Malheureusement, le code suivant ne fonctionne pas (filepath changé pour des raisons d'anonymat):
const cv::String CASCADE_FILE("/../../../../haarcascade_frontalface_default.xml");
Bien que le fichier haarcascade_frontalface_default.xml est dans le projet Xcode, il ne peut pas être chargé. Existe-t-il un moyen d'obtenir le chemin de fichier du fichier cascade dans le code C++? J'ai essayé l'approche de l'utilisateur: r4ghu
NSString *faceCascadePath = [[NSBundle mainBundle]
pathForResource:@"<your_cascade_name>"
ofType:@"xml"];
const CFIndex CASCADE_NAME_LEN = 2048;
char *CASCADE_NAME = (char *) malloc(CASCADE_NAME_LEN);
CFStringGetFileSystemRepresentation((CFStringRef)faceCascadePath,
CASCADE_NAME,
CASCADE_NAME_LEN);
if(!face_cascade.load(CASCADE_NAME)) {
cout << "Unable to load the face detector!!!!" << endl;
exit(-1);
}
Cela n'a pas fonctionné pour moi. Y a-t-il un autre moyen?
thx