如何在 Swift 中对图像应用过滤器?

Posted

技术标签:

【中文标题】如何在 Swift 中对图像应用过滤器?【英文标题】:How to apply filter to image in Swift? 【发布时间】:2016-01-16 20:39:08 【问题描述】:

今天我搜索了很多关于它的东西,找到了一些东西,但我仍然感到困惑。

例如,我有下一个过滤器:

结果需要是:

如何将其应用于我的图像?

我知道如何应用诸如PhotoEffectNoirCIPhotoEffectChrome 之类的效果,但是如何将这个矩阵(或者我不知道如何调用它)应用到我的 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 中对图像应用过滤器?的主要内容,如果未能解决你的问题,请参考以下文章

Swift 中的 CIDetector 透视和裁剪

使用 Swift 为核心图像过滤器添加价值

在 VBA 中对断开连接的 ADODB 记录集应用过滤器

如何在 Mongodb 中对多个数组使用聚合映射和过滤器

尝试在 Swift 中使用 UISearchResult。如何实现过滤?

在搜索栏iOS swift3中加载带有条目的单元格时,图像无法正确显示