如何在Swift / iOS中使用双线性过滤缩小图像尺寸?

时间:2018-09-02 22:50:10

标签: ios swift image-processing

我需要使用双线性过滤来调整图像的大小,但不确定如何在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,但是此方法不允许您使用插值方法来调整图像的大小。它只是获取当前大小的图像并进行插值吗?

https://developer.apple.com/documentation/coreimage/ciimage/2867346-imagebysamplinglinear?language=objc

虽然实际算法使用插值来调整图像大小:

https://rosettacode.org/wiki/Bilinear_interpolation#Python

0 个答案:

没有答案