gpt4 book ai didi

image-processing - 如何在有序抖动的 CIE-L*a*b* 色彩空间中辨别哪种颜色是 "lower"和/或 "higher"?

转载 作者:行者123 更新时间:2023-12-04 01:13:05 25 4
gpt4 key购买 nike

我已经实现了几个函数来将 sRGB 转换为 CIE-L*a*b*色彩空间。

现在,我想用它来进行抖动,但我不确定如何准确辨别哪种颜色是“较低”颜色,哪种颜色是“较高”颜色。

当在一维色彩空间(灰度)中抖动时,事情很容易。使用误差扩散抖动时,我会根据我使用的抖动矩阵类型(例如 Floyd-Steinberg)计算调色板中最近的灰度值,并将误差添加到周围的像素中。因为这是一维的,所以很容易,只有这个值。但是现在我有了这个三维色彩空间,我应该单独将误差添加到每个坐标吗?
(在这一点上,这是对我来说有意义的唯一方式。)

使用 ordered dither 抖动时矩阵,事情变得更加复杂。有序抖动矩阵定义了一个阈值。为此,我需要知道托盘的“较低”像素值和“较高”像素值,与我即将抖动的当前像素有关。现在,我计算到两个像素的距离,抖动矩阵的阈值决定了相邻像素之间的值之后,像素要么抖动到较低的像素,要么抖动到较高的像素。
(通过使用为我的托盘中灰度颜色值的数量明智选择的矩阵,实际的实现当然比计算更优化。此外,诸如选择具有均匀间隔颜色值的托盘等。)
这再次 - 在一维色彩空间中非常容易。但是在 CIE-L*a*b* 中,没有“更高”或“更低”的值。

仅使用亮度来应用阈值矩阵,似乎很不正确,我的托盘中可能有两种亮度相同的颜色,然后呢?

最佳答案

本文描述了与您的问题非常接近的问题,然后继续提供一种算法来解决它:

http://ira.lib.polyu.edu.hk/bitstream/10397/1494/1/A%20multiscale%20color%20error_05.pdf

希望这会有所帮助。

关于image-processing - 如何在有序抖动的 CIE-L*a*b* 色彩空间中辨别哪种颜色是 "lower"和/或 "higher"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30795800/

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