目前我正在嘗試使用OpenCV級聯分類器來檢測iOS應用中的面孔。問題是,當我去加載分類器時,它會失敗,因爲「haarcascade_frontalface_alt.xml」的路徑名不正確。OpenCV級聯分類器加載錯誤iOS
這裏是我的代碼:
cv::String face_cascade_name = "haarcascade_frontalface_alt.xml";
無效detectFaces(CV ::墊邊){
cv::CascadeClassifier face_cascade;
if (face_cascade.load(face_cascade_name)){
printf("Load complete");
}else{
printf("Load error");
}
std::vector<cv::Rect> faces;
std::vector<cv::Mat> rgbChannels(3);
cv::split(frame, rgbChannels); // Making the frame gray scale
cv::Mat frame_gray = rgbChannels[2];
face_cascade.detectMultiScale(frame_gray, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE|CV_HAAR_FIND_BIGGEST_OBJECT, cv::Size(150,150));
if(faces.size()> 0){
printf("TRUE");
}
}
由於這是一個iOS的項目,我不知道如何在框架中查找所需的xml文件的路徑。將Cascade Classifier加載到iOS項目中的正確方法是什麼?或者,包含正確的文件名以便正確看到它的正確方法是什麼?
任何幫助,將不勝感激。
您是否嘗試過使用完整路徑? – Miki
關於如何用C++做到這一點的任何想法?我無法找到文件的完整路徑,因爲我的電腦上沒有安裝OpenCV。一直在用iPhone測試它,所以我不需要它。 – NFarrell