2016-11-28 5 views
0

J'essaie d'utiliser le programme OpenCV iOS pour détecter la bouche de l'utilisateur et mesurer sa largeur et sa hauteur à partir de la vidéo en direct. Je cherchais mais je ne pouvais pas trouver d'échantillons opencv. Est-ce qu'il y a quelqu'un pour obtenir un tel programme Opencv/ou un autre programme iOS pour détecter la bouche de l'utilisateur et mesurer la largeur et la hauteur de la vidéo ou de l'image? Veuillez partager l'information.Programme OpenCV iOS pour détecter la bouche de l'utilisateur et mesurer la largeur et la hauteur

Merci

Répondre

0
NSString *mouthCascadePath = [[NSBundle mainBundle] pathForResource:@"cascades/haarcascade_mcs_mouth" 
                  ofType:@"xml"];//load the file from the app bundle 
cv::Mat cvImage; 
UIImageToMat(resImage, cvImage); 
cvtColor(cvImage, gray, CV_BGR2GRAY); // load input img in gray scale mode 
cv::CascadeClassifier mouthDetector; 
mouthDetector.load([mouthCascadePath UTF8String]); 
std::vector<cv::Rect> faceRects; 
double scalingFactor = 1.1; 
int minNeighbors = 2; 
int flags = 0; 
cv::Size minimumSize(30,30); 
// Detect Faces 
faceDetector.detectMultiScale(gray, faceRects, 
            scalingFactor, minNeighbors, flags, 
            cv::Size(30, 30)); 

cv::Mat faceROI; 

for(unsigned int i = 0; i < faceRects.size(); i++) 
{ 
std::vector<cv::Rect> mouthRects; 
//Detect mouth in face 
    mouthDetector.detectMultiScale(cvImage, mouthRects, 
            scalingFactor, minNeighbors, flags, 
            cv::Size(30, 30)); 

     const cv:: Rect&mouth = mouthRects[0]; 
     int y = mouth.y - 0.15*mouth.height ; 
     cv:: rectangle(cvImage, cv::Point(mouth.x ,y), cv::Point(mouth.x + mouth.width ,y + mouth.height), cvScalar(255,0,0), 1, 8, 0); 
} 
_imgview.image = MatToUIImage(cvImage); 
} 

Copiez le code ci-dessus pour la détection de la bouche à l'aide OpenCV dans iOS.