CIFilter组合

CIFilter Combination

我正在尝试实现在 Read Dead Redemption (RDR) 游戏中进入菜单时出现的相同效果:

浏览 CIFilter 库后,我发现我要找的过滤器是 CIColorMonochrome。在样本图像上应用过滤器后,我得到以下结果:

这看起来不错,但与 RDR 图片中的效果不太一样。我要在图像上加上一个数字,它需要清晰可见。因此,我想知道是否有一个滤镜可以帮助我实现 RDR 画面的黑色漫画风格。我尝试使用 CIEdgeWork,但它似乎没有用。

有什么想法吗?

CIColorMonochrome 不是适合您情况的最佳滤镜,因为输出图像将在白色和您选择的颜色之间形成阴影。如果您查看示例 RDR 图像,任何地方都没有白色。

相反,删除绿色和蓝色通道,只留下红色通道以获得红色。您还可以应用 CISharpenLuminace 滤镜使其具有高对比度和坚韧的外观:

let zeroVector = CIVector(x: 0, y: 0, z: 0, w: 0)
let outputImage = inputImage
    .applyingFilter("CIColorMatrix", parameters: ["inputGVector": zeroVector, "inputBVector": zeroVector])
    .applyingFilter("CISharpenLuminance", parameters: ["inputSharpness": NSNumber(value: 2)]) 

结果: