我需要使用双线性过滤来调整图像的大小,但不确定如何在Swift中完成此操作。在Python中,PIL和Opencv允许我们在调整大小(https://docs.scipy.org/doc/scipy/reference/generated/scipy.misc.imresize.html)时选择插值方法。我希望模仿iOS中针对coreML模型的过程
我搜索了调整大小的方法,但这是我可以通过博客找到的:
extension UIImage {
func resizeUI(size:CGSize) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(size, true, self.scale)
self.drawInRect(CGRect(origin: CGPointZero, size: size))
let resizedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return resizedImage
}
但是,似乎不允许您选择插值方法。
谢谢。
编辑:
我找到了imageBySamplingLinear
,但是此方法不允许您使用插值方法来调整图像的大小。它只是获取当前大小的图像并进行插值吗?
虽然实际算法使用插值来调整图像大小: