我将 UIImage 转换为 CoreML 的 CVPixelBuffer,但我想更改 RGB 像素,例如 R/1.5、G/2、B/2.5。
我可以使用 读取像素数据assumingMemoryBound(to : UInt8.self)
,但是如何修改 CVPixelBuffer 中的像素数据?
我将 UIImage 转换为 CoreML 的 CVPixelBuffer,但我想更改 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