ios - 将 CVPixelBuffer 放入方形图像中,并调整大小和保存纵横比

标签 ios coreml core-video cvpixelbuffer

我有一个图像,在传递到 CoreML 之前应先对其进行预处理,将其调整为 640x640 正方形,并调整大小并保存纵横比(检查图像)。我发现了很多有关使用 vImageScale_* 调整大小的有用链接,但没有找到类似于向调整大小的图像添加彩色填充的内容。

我知道 Vision 有 scaleFit option ,但最终的输出有点不同,所以我试图使图像居中。

enter image description here

最佳答案

vImageScale_* 函数会缩放以适合目标,因此如果源和目标的比例不同,则纵横比将会改变。

vImage 提供仿射变换操作(支持背景颜色!)。看看https://developer.apple.com/documentation/accelerate/applying_geometric_transforms_to_images了解更多信息。最后一个示例,将复杂仿射变换应用于 vImage 缓冲区,完全满足您的需要(您只需删除旋转步骤)。

关于ios - 将 CVPixelBuffer 放入方形图像中,并调整大小和保存纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72451978/

相关文章:

ios - 将 CGAffineTransform 转换为 GLKMatrix3

iphone - 如何修复泄漏CVPixelBuffer

cocoa 在不同屏幕上绘图会损失性能

ios - 如何在 Swift 中创建一个 UIPickerView 选择,以便 View 扩展以允许添加选项?

ios - Core-Plot iOS - 仅每隔一秒图表显示一次将多个图表添加到屏幕

swift - 我怎样才能只允许从门户进入我的虚拟场景?

iOS CoreML mlmodel文件自动生成swift版模型类文件

iphone - 如何检查是否结束xml解析

iphone - 如何使用 NSURLConnection 取消持久连接?

coreml - 视觉框架与 CoreML 模型类