Я использую «официальную» opencv2.framework и уже настроил обертки и заголовок заголовка и т. Д. Я получаю сообщение EXC_BAD_ACCESS и сбой при запуске приложения. Я работаю быстро. вот код из файла-обертки.Загрузка с помощью OpenCV cascadeClassifier EXC_BAD_ACCESS crash
Что я делаю неправильно?
#include "OpenCVWrapper.h"
#import "UIImage+OpenCV.h"
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
@implementation OpenCVWrapper : NSObject
+ (UIImage *)processImageWithOpenCV:(UIImage*)inputImage{
Mat mat = [inputImage CVMat];
cv::CascadeClassifier* faceDetector;
// do your processing here
//...
// Load cascade classifier from the XML file
NSString* cascadePath = [[NSBundle mainBundle] pathForResource:@"haarcascade_frontalface_alt2" ofType:@"xml"];
faceDetector->load([cascadePath UTF8String]);
// Load image with face
//UIImage* image = [UIImage imageNamed:@"lena.png"];
Mat faceImage;
faceImage = mat;
Mat grayImage;
cvtColor(faceImage, grayImage, CV_BGR2GRAY);
//Detect faces
std::vector<cv::Rect> faces;
faceDetector->detectMultiScale(grayImage, faces, 1.1, 2,0|CV_HAAR_SCALE_IMAGE, cv::Size(30,30));
//Draw all detected faces
for(unsigned int i = 0; i < faces.size(); i++)
{
const cv::Rect& face = faces[i];
//Get top-left and bottom-right corner points
cv::Point tl(face.x , face.y);
cv::Point br = tl + cv::Point(face.width,face.height);
//draw rectangle around the face
cv::Scalar magenta = cv::Scalar(255,0,255);
cv::rectangle(faceImage, tl, br, magenta, 4, 8, 0);
}
//show resulting image
return [UIImage imageWithCVMat:faceImage];
}
@end
Во-первых, вы работаете в Objective C. Во-вторых, что говорит ваша ошибка? – sschale