GPUImage 将图像大小加倍 - iOS/Swift

GPUImage doubles image size - iOS/Swift

我正在尝试使用 GPUImage 将图像转换为灰度图像。我写了一个扩展来完成我的工作。灰度的东西没问题。但是输出图像的大小增加了一倍。在我的例子中,我需要图像的大小是准确的。有人可以帮我吗?任何帮助将不胜感激。

这是我写的扩展

import UIKit
import GPUImage

extension UIImage {

    public func grayscale() -> UIImage?{

        var processedImage = self

        print("1: "+"\(processedImage.size)")

        let image = GPUImagePicture(image: processedImage)

        let grayFilter = GPUImageGrayscaleFilter()
        image?.addTarget(grayFilter)

        grayFilter.useNextFrameForImageCapture()
        image?.processImage()
        processedImage = grayFilter.imageFromCurrentFramebuffer()

        print("2: "+"\(processedImage.size)")

        return processedImage
    }

}

这是控制台的输出

编辑: 我知道图像可以稍后调整大小。但是需要知道为什么会发生这种情况,以及是否可以采取任何措施来保持使用 GPUImage 时的图像大小。

稍后尝试缩放图像:

if let cgImage = processedImage.cgImage {
     //The scale value 2.0 here should be replaced by the original image's scale. 
     let scaledImage = UIImage(cgImage: cgImage, scale: 2.0, orientation: processedImage.imageOrientation)
     return scaledImage
}