我有一个图像,在传递到 CoreML 之前应先对其进行预处理,将其调整为 640x640 正方形,并调整大小并保存纵横比(检查图像)。我发现了很多有关使用 vImageScale_*
调整大小的有用链接,但没有找到类似于向调整大小的图像添加彩色填充的内容。
我知道 Vision 有 scaleFit
option ,但最终的输出有点不同,所以我试图使图像居中。
最佳答案
vImageScale_*
函数会缩放以适合目标,因此如果源和目标的比例不同,则纵横比将会改变。
vImage 提供仿射变换操作(支持背景颜色!)。看看https://developer.apple.com/documentation/accelerate/applying_geometric_transforms_to_images了解更多信息。最后一个示例,将复杂仿射变换应用于 vImage 缓冲区,完全满足您的需要(您只需删除旋转步骤)。
关于ios - 将 CVPixelBuffer 放入方形图像中,并调整大小和保存纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72451978/