有很多关于使用CV_8UC4编码将UIIMage转换为cv :: Mat的问题。在OpenCV iOS网站上甚至还有tutorial。
但是,对于我的生活,我无法弄清楚如何正确地将UIImage转换为8UC3。使用股票OpenCV示例,尝试转换为8UC1也会中断,因为cv:Mat在初始化后有大量的空指针。
有关如何正确执行此操作的任何见解?谢谢!
答案 0 :(得分:2)
将UIImage转换为cv :: Mat ...
后尝试调用以下内容cvtColor(srcMat,destMat,CV_RGBA2BGR);
答案 1 :(得分:1)
对于我,当我想从UIImage转换为Mat时,我只使用预定义的函数 像这样的UIImageToMat:
UIImageToMat(extractedUIImage, matImage);
但首先你需要在openCV中包含这个头文件:
#import <opencv2/highgui/ios.h>
从Mat转换为UIImage相同:
UIImage *extractedImage = MatToUIImage(matImage);
试一试,它对我来说很好用