gpt4 book ai didi

ios - UIImage imageWithData 返回 nil

转载 作者:行者123 更新时间:2023-11-29 03:57:58 25 4
gpt4 key购买 nike

我正在使用最新的 SDK 开发 iOS 5.0+ 应用程序。

在我的应用程序上,我有一些 C++ 图像识别软件,我正在尝试保存此 C++ 函数识别的图像。

我有这个数组来存储识别的图像:

int _detectedImages[NSMaxNumDetections ][NSPatchSize * NSPatchSize];

我这样调用 C++ 函数:

numberOfDetections = nativeDetect(_resultImages);

通过以下代码,我尝试将数据从 _detectedImages 转换为 UIImage

for (int index = 0; index < numberOfDetections; index++)
{
if (_resultImages[index] != nil)
{
NSData* imageData = [NSData dataWithBytes:&_resultImages[index] length:sizeof(_resultImages[index])];
NSLog(@"##### Image data size: %d", [imageData length]);
UIImage* newImage = [UIImage imageWithData:imageData];
_lastDetectedSignImages[index] = newImage;
}
}

在日志中我得到这个:

#### Image data size: 2304
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM setObject:atIndex:]: object cannot be nil'
*** First throw call stack:

newImage 为零,但 imageData 有数据。

当我尝试从该数据获取 UIImage 时,我是否做错了什么?

另一种可能性是我的 C++ 识别软件做错了什么,但我不会在这里向您展示该代码(抱歉,它是受版权保护的)。

或者我没有将 _resultImages 正确传递给 nativeDetect

最佳答案

几乎可以肯定,您的 C++ 图像采用某种位图格式 - RGBA 等。因此,您的第一个任务是弄清楚该格式是什么(以及字节顺序!)。有了这些信息,您就可以使用 CGImageCreate() 创建 CGImageRef。这样你就可以创建一个 UIImage。

关于ios - UIImage imageWithData 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16273511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com