gpt4 book ai didi

ios - 尝试使用两个颜色查找表过滤图像

转载 作者:行者123 更新时间:2023-12-01 16:27:01 24 4
gpt4 key购买 nike

我与一个设计团队合作,他们希望我在我们的 iOS 应用程序中实现照片滤镜。他们为我提供了两个与此图像非常相似的文件,每个文件都有不同的颜色。

我被告知显然我应该能够在 Photoshop 中打开它们,比较颜色的差异,然后将这些差异应用于应用程序中的滤镜图像。老实说,我什至不知道从哪里开始。我已经在 Photoshop 中打开它们,但不知道要寻找什么。我知道如何使用 CIFilter 应用过滤器,但我只是不知道要应用哪种过滤。

有人至少能够指出我正确的方向吗?

最佳答案

他们给您的是 3D 查找表或 LUT。除了检查 LUT 之外,您根本不需要让 Photoshop 参与此过程。

看起来您的 LUT 是 25x25x40。每个正方形的大小为 25x25,您的图片中有 8x5=40 个正方形。 (实际上有 8x4 = 32 个方格以及其上方和下方的部分方格。这有点奇怪。)每个 25x25 方格都有一个恒定的蓝色值,红色值随 x 坐标变化,绿色值随 y 坐标变化。

要使用 LUT,您需要获取输入图像中每个像素的 (r, g, b) 值,然后在 LUT 中查找新值。

因此,如果您的 (R, G, B) 值为 (128, 52, 215)(假设每个 channel 8 位,因此值在 0-255 之间),那么您需要缩放那些在您的 LUT 范围内。

为此,请计算:

Red: 128 / 255 = x / 25
Green: 52 / 255 = x / 25
Blue: 215 / 255 = x / 40

所以你得到:

Red = 13
Green = 5
Blue = 34

现在您可以将它们用作 LUT 中的坐标。您需要蓝色为 34/40 的正方形。这在你的设置中很棘手,因为它不是一个长行。通常,您只需将图 block 宽度乘以要获取起始像素的图 block 数量,但我们在这里不能这样做。我建议重新格式化您的 LUT 以便以这种方式工作。如果这样做,您只需乘以 34 * 25 * sizeof(RGB) 即可。一旦到达那里,您就可以将该图 block 视为本身的图像,并查找 (x,y) = (13,5)。 (您可以使用 5 * bytesPerRow + 13 * bytesPerPixel 来实现。)

您现在拥有来自 LUT 的颜色。

有一个名为 CIColorCube 的 CoreImage 过滤器这允许你做类似的事情,但我自己没有使用过。

关于ios - 尝试使用两个颜色查找表过滤图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23773714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com