Я обрабатываю UIImage для создания контура, и в этом процессе я сначала инвертирую его, затем делаю его серым. Вот код:
+(UIImage *)processInvertedImage:(UIImage *)image {
cv::Mat mat;
UIImageToMat(image, mat);
cv::Mat gray;
cv::cvtColor(mat, gray, CV_RGB2GRAY);
cv::Mat inverted;
cv::invert(gray, inverted); //// here it crashes
UIImage *binImg = MatToUIImage(inverted);
return binImg;
}
Это код ошибки:
libc ++ abi.dylib: завершается с необработанным исключением типа cv :: Exception: OpenCV (3.4.2) / Volumes / build-storage / build / 3_4_iOS-mac / opencv / modules / core / src / lapack. cpp: 839: ошибка: (-215: подтверждение не выполнено) type == 5 || введите == 6 в функции 'инвертировать'
(lldb)
Почему я не могу использовать инвертированный метод? Я пытался инвертировать до преобразования в серый, но это не имело значения.