如何在 Swift 中对图像应用过滤器?
Posted
技术标签:
【中文标题】如何在 Swift 中对图像应用过滤器?【英文标题】:How to apply filter to image in Swift? 【发布时间】:2016-01-16 20:39:08 【问题描述】:今天我搜索了很多关于它的东西,找到了一些东西,但我仍然感到困惑。
例如,我有下一个过滤器:
结果需要是:
如何将其应用于我的图像?
我知道如何应用诸如PhotoEffectNoir
或CIPhotoEffectChrome
之类的效果,但是如何将这个矩阵(或者我不知道如何调用它)应用到我的 UIImage?
谁能帮我举个小例子?
【问题讨论】:
这个“过滤器”是什么?是内核吗?你希望结果是什么? @jtbandes 这是一个“古代”效果过滤器。我已经更新了问题 【参考方案1】:这只是暂时的答案;有时间我会回来提供更多细节。
您的第一张图片是颜色查找表(又名 CLUT),有时也称为颜色立方体。它是一个三维数组的表示,其中 x、y 和 z 坐标是输入颜色的 r、g 和 b 分量,给定 xyz 坐标处的值是该特定 rgb 输入的输出颜色。 (因为它存储在 2D 图像中,所以 3D 表被分割成切片。)
您可以使用 CLUT 在 Core Image 中使用CIColorCube 过滤器进行过滤。它的诀窍是将您的 CLUT 图像转换为正确的格式,以作为参数传递给该过滤器。
您可以找到一些构造(而不是将图像转换为)颜色立方体in Apple's docs 和elsewhere on SO 的示例。
【讨论】:
我在这里做了一些事情:pastebin.com/vpJcqs3e,但是当我应用我的 LUT 时,我的图像发生了变化,但几乎没有改变,比如 alpha 0.1。你能帮我解决这个问题吗?不知道是什么问题 这是我的代码的新版本:pastebin.com/URJFTXgF,它仍然不起作用=/ 你能帮帮我吗?以上是关于如何在 Swift 中对图像应用过滤器?的主要内容,如果未能解决你的问题,请参考以下文章