Как правильно инициализировать модель FaceRecognizer в ObjC для iOS? - PullRequest
0 голосов
/ 27 октября 2019

Итак, я пытаюсь инициализировать модель cv :: face :: EigenFaceRecognizer. Когда я запускаю свое приложение, я получаю exc_bad_access всякий раз, когда пытаюсь вызвать метод для моей модели. Я проверил мой отладчик, и он показывает, что моя модель является nullptr, что заставляет меня поверить, что что-то не так с тем, как я инициализирую свою модель.

Вот как я инициализирую свою модель:

- (id) init {
    self = [super init];
    if (self)
        [self loadDb];
    cv::Ptr<cv::face::FaceRecognizer> model = cv::face::EigenFaceRecognizer::create(10, 10.0);
    return self;
}

Это то, что отладчик говорит о модели:

model   cv::Ptr<cv::face::FaceRecognizer>   
std::__1::shared_ptr<cv::face::FaceRecognizer>  std::__1::shared_ptr<cv::face::FaceRecognizer>  nullptr 
_labelsInfo std::__1::map<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, std::__1::basic_string<char> > > > 

Это функция, которую я пытаюсь запустить на своей модели:

if (images.size() > 0 && labels.size() > 0){
        //NSLog(@"TEST ADDR: %p", &model);
        //model->getLabelInfo(0);
        model->train(images, labels)
        return YES;
    }
    else
        return NO;

Я пытался изменить вокругтип модели или пытается получить доступ к другим методам модели, но все они заканчиваются на exc_bad_access. Я правильно инициализирую свою модель?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...