UIImage to cv :: Mat CV_8UC3

时间:2014-12-25 05:43:26

标签: c++ ios objective-c opencv uiimage

有很多关于使用CV_8UC4编码将UIIMage转换为cv :: Mat的问题。在OpenCV iOS网站上甚至还有tutorial

但是,对于我的生活,我无法弄清楚如何正确地将UIImage转换为8UC3。使用股票OpenCV示例,尝试转换为8UC1也会中断,因为cv:Mat在初始化后有大量的空指针。

有关如何正确执行此操作的任何见解?谢谢!

2 个答案:

答案 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);

试一试,它对我来说很好用