我熟悉以下语法在GPUImage2中使用Swift语法中的这种方式进行单个图像过滤:
input --> blur --> output
但是如何使用需要两个图像的图像处理操作? GPUImage2中的一个示例显示您可以执行此操作:
input --> self.lookup1 --> self.alphaBlend --> self.lookup2 --> output
self.lookup1 --> self.gaussianBlur --> self.alphaBlend
其中self.lookup1和self.lookup2是2个不同的图像。但我不确定这种语法,在这种情况下,第二个图像是否应该在alphaBlend过滤器之后?
答案 0 :(得分:8)
通过分析链并使用操作中所需的输入数量,发现上面的示例我发布了工作。所以alphaBlend将等待应用另一个输入,这是一个工作示例:
let alphaBlend = AlphaBlend()
let input1 = PictureInput(image: image1)
let input2 = PictureInput(image: image2)
alphaBlend.mix = 0.5;
let output = PictureOutput();
output.encodedImageFormat = .JPEG
output.imageAvailableCallback = {image in
// Do something with the image
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
}
input1 --> alphaBlend
input2 --> alphaBlend --> output
input1.processImage(synchronously: true)
input2.processImage(synchronously: true)