我想使用GPUImage将图像转换成灰度。我写了一个扩展名来完成我的工作。灰度的事情没关系。但是输出图像的尺寸已经增加了一倍。在我的情况下,我需要的图像是在确切的大小。有人可以帮助我吗?任何帮助将不胜感激。GPUImage使图像大小增加一倍 - iOS/Swift
这是我写的
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。
看到你的内存大小也增加 –
@JitendraModi是的,进程使用将近100 Mb的内存 – GMHSJ
检查原始图像的“缩放”。任何你使用scale'2'图像的机会,并且GPUImage在相同像素尺寸下给你一个比例尺为'1'的图像? –