在数组中存储cvMat对象 - OpenCV - iPhone

时间:2012-05-06 15:48:23

标签: iphone c++ objective-c opencv

我正在开发一个OpenCV应用程序,我在其中创建了许多cvMat对象,如下所示:

UIImage *testImage = [UIImage imageNamed:@"Image.jpg"];
cv::Mat tempMat = [testImage CVMat];
cv::cvtColor(tempMat, grayImg, cv::COLOR_RGB2GRAY);

我当时想要做的是将结果(此处称为grayImg)存储在NSMutableArray中。

有人可以建议我如何实现这个目标吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

无论你需要在NSArray中存储什么对象,你都可以这样做:

cv::Mat tempMat = [testImage CVMat];
cv::Mat *pointer = (cv::Mat *)tempMat;
id object = [NSValue valueWithPointer:pointer];
NSArray *array = [[NSArray alloc] initWithObjects: object, nil];