Существует множество вопросов о преобразовании UIIMage в cv :: Mat с кодировкой CV_8UC4. Там даже руководство на сайте OpenCV iOS.
Однако я не могу понять, как правильно преобразовать UIImage в 8UC3. Используя стандартный пример OpenCV, попытка конвертировать в 8UC1 также не работает, так как cv: Mat имеет тонну нулевых указателей после инициализации.
Любое понимание того, как я мог бы сделать это правильно? Спасибо!
Для меня, когда я хочу конвертировать из UIImage в Mat просто я использую предопределенную функцию
UIImageToMat, как это:
UIImageToMat(extractedUIImage, matImage);
Но сначала вам нужно включить этот заголовочный файл из openCV:
#import <opencv2/highgui/ios.h>
То же самое для преобразования из Mat в UIImage:
UIImage *extractedImage = MatToUIImage(matImage);
Просто попробуйте, он отлично работает для меня
Попробуйте вызвать следующее после преобразования UIImage в cv :: Mat …
cvtColor (srcMat, destMat, CV_RGBA2BGR);