- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经实现了几个函数来将 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/
我的数据中的某些项目的默认值等于None,并且某些默认值根本缺失。但似乎 pandas 在 None 和 NaN 之间没有太大区别,威胁它们全部为 NaN,这有点合乎逻辑,因为它们都不是数字,但我仍然
我是一名优秀的程序员,十分优秀!