如何更改 CVPixelBuffer 数据格式

How to change CVPixelBuffer data format

我将 UIImage 转换为 CVPixelBuffer 用于 CoreML,但我想更改 RGB 像素,例如 R/1.5、G/2、B/2.5.

我可以使用assumingMemoryBound(to : UInt8.self)读取像素数据,但是 如何修改CVPixelBuffer中的像素数据?

为什么要在CVPixelBuffer中做这个?作为模型的一部分,Core ML 可以自动为你做这件事。

将模型转换为 Core ML 时,您可以指定 image_scale 预处理选项。

在您的情况下,您似乎希望每个颜色通道具有不同的比例,您可以通过向模型添加缩放层来实现。有关示例,请参见以下 Jupyter 笔记本:https://github.com/apple/coremltools/blob/master/examples/Image_preprocessing_per_channel_scale.ipynb