单地说,就是一个预先计算的数据
Posted: Wed Dec 11, 2024 6:54 am
看,在桌子上!
查找表,简数组或矩阵,可以缓存起来,用于通过索引或键查找答案,而不是即时计算。查找表也早于计算机出现。在计算器普及之前,用于查找十进制对数的表格书籍是必不可少的,用于代替耗时且容易出错的计算。事实上,几乎所有上过现代小学的人在学习乘法表时都大量使用查找表。它可能还缓存在你的记忆中……
在图像处理中,查找表由不同颜色的像素组成,这些像素以某种逻辑方式遍历您需要的整个色域。它们可以是一维的(网格),也可以是三维的(立方体,轴为红色、绿色和蓝色)。虽然 3D 表的功能更强大,这一点并不令人意外,但它们在处理不可预测的色彩空间(如实际胶片)时才真正有用,在这种情况下,您可能需要根据周围的颜色更改颜色,并在色彩 埃及 whatsapp 号码数据 5 万 空间之间进行转换,此时插入中间值的能力至关重要。对于我们的目的而言,使用 1D 查找表将值一一映射的能力就足够了。
第一次尝试时,我们先从 512×512 的查找表开始,它提供了 262,144 种可能的输出颜色。很快我们就发现,这个查找表不够精细,无法提供令人满意的结果。颜色变化非常细微的区域被推到最接近的可用颜色,并且可以看到条带。
查看完整尺寸512×512 查找表
512×512 查找表
查看完整尺寸原始图像
原始图像
查看完整尺寸色带
色带
增加到 24 位颜色(4096×4096)后,我们可以获得 16,777,216 种输出颜色:对于 RGB 图像来说刚好足够。这是因为每个通道(红色、绿色和蓝色)都是 8 位,因此可能产生 2 24 种颜色。这是我们开始使用的中性查找表:
查看完整尺寸
下载-1.png
这是一个 16×16 的网格,其中每个方块为 256×256 像素。每个方块中蓝色值从右到左依次增加,从 0 增加到 255。每个方块中绿色值从上到下依次增加,从 0 增加到 255。每个方块中红色从左到右和从上到下依次增加,即左上方块有 0 个红色,右上方块有 15 个红色,右下方块有 255 个红色,等等。
图像中的每个像素都有四个通道:红色、绿色、蓝色和 alpha。我们只关心前三个通道,因为我们在当前一批滤镜中不进行任何透明度操作。使用中性查找表,我们现在拥有从 [0, 0, 0](黑色)到 [255, 255, 255](白色)的每种可能的 RGB 值组合的数学索引。
画布返回的图像数据是一个巨大的 Uint8ClampedArray,每个像素有四个数据点。它看起来像这。
查找表,简数组或矩阵,可以缓存起来,用于通过索引或键查找答案,而不是即时计算。查找表也早于计算机出现。在计算器普及之前,用于查找十进制对数的表格书籍是必不可少的,用于代替耗时且容易出错的计算。事实上,几乎所有上过现代小学的人在学习乘法表时都大量使用查找表。它可能还缓存在你的记忆中……
在图像处理中,查找表由不同颜色的像素组成,这些像素以某种逻辑方式遍历您需要的整个色域。它们可以是一维的(网格),也可以是三维的(立方体,轴为红色、绿色和蓝色)。虽然 3D 表的功能更强大,这一点并不令人意外,但它们在处理不可预测的色彩空间(如实际胶片)时才真正有用,在这种情况下,您可能需要根据周围的颜色更改颜色,并在色彩 埃及 whatsapp 号码数据 5 万 空间之间进行转换,此时插入中间值的能力至关重要。对于我们的目的而言,使用 1D 查找表将值一一映射的能力就足够了。
第一次尝试时,我们先从 512×512 的查找表开始,它提供了 262,144 种可能的输出颜色。很快我们就发现,这个查找表不够精细,无法提供令人满意的结果。颜色变化非常细微的区域被推到最接近的可用颜色,并且可以看到条带。
查看完整尺寸512×512 查找表
512×512 查找表
查看完整尺寸原始图像
原始图像
查看完整尺寸色带
色带
增加到 24 位颜色(4096×4096)后,我们可以获得 16,777,216 种输出颜色:对于 RGB 图像来说刚好足够。这是因为每个通道(红色、绿色和蓝色)都是 8 位,因此可能产生 2 24 种颜色。这是我们开始使用的中性查找表:
查看完整尺寸
下载-1.png
这是一个 16×16 的网格,其中每个方块为 256×256 像素。每个方块中蓝色值从右到左依次增加,从 0 增加到 255。每个方块中绿色值从上到下依次增加,从 0 增加到 255。每个方块中红色从左到右和从上到下依次增加,即左上方块有 0 个红色,右上方块有 15 个红色,右下方块有 255 个红色,等等。
图像中的每个像素都有四个通道:红色、绿色、蓝色和 alpha。我们只关心前三个通道,因为我们在当前一批滤镜中不进行任何透明度操作。使用中性查找表,我们现在拥有从 [0, 0, 0](黑色)到 [255, 255, 255](白色)的每种可能的 RGB 值组合的数学索引。
画布返回的图像数据是一个巨大的 Uint8ClampedArray,每个像素有四个数据点。它看起来像这。