如何使用 Swift 语法在 GPUImage2 中将两个图像混合在一起

How do I blend two images together in GPUImage2 using Swift syntax

我熟悉以下语法,可以在 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 滤镜之后吗?

通过分析链并使用操作中所需的输入数量,发现我发布的上述示例有效。所以 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)