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

Guy*_*ood 6 c++ iphone opencv objective-c

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

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

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

任何人都可以建议我如何实现这一目标?

谢谢.

Sen*_*neL 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];
Run Code Online (Sandbox Code Playgroud)

  • 第 2 行在最新的 XCode 上失败。 (3认同)