问题标签 [hsl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python:降低RGB颜色的亮度
有没有一种简单的方法来改变以 RGB 字符串形式给出的颜色的亮度?
例如
colors - 为什么灰度会这样工作?
我原来的问题
我读到将RGB像素转换为灰度RGB,应该使用
我还阅读并理解,它g
具有更高的权重,因为人眼对绿色更敏感。实现这一点,我看到结果与在像 Gimp 这样的图像编辑器中将图像设置为“灰度”得到的结果相同。
在阅读本文之前,我想象要将像素转换为灰度,将其转换为 HSL 或 HSV,然后将饱和度设置为零(因此,移除所有颜色)。然而,当我这样做时,我得到了一个完全不同的图像输出,即使它也缺乏颜色。
与我阅读的“正确”方式有何不同,为什么它“不s = 0
正确”?
基于答案和其他研究的持续发现
似乎使用哪些亮度系数是一些争论的主题。各种组合和转灰度算法有不同的结果。以下是在电视标准等领域使用的一些预设:
- ITU-R BT.601 (NTSC?) 定义的系数是
0.299r + 0.587g + 0.114b
- ITU-R BT.709(更新)定义的系数是
0.2126r + 0.7152g + 0.0722b
- 三分之二的系数 ,
(1/3)(rgb)
等价于s = 0
这篇科学文章详细介绍了各种灰度技术及其对各种图像的结果,以及对 119 人的主观调查。
但是,当将图像转换为灰度时,为了获得“最佳”艺术效果,几乎可以肯定不会使用这些预定义系数,而是调整每个通道的贡献以产生特定图像的最佳输出。
c# - 如何使用 ColorMatrix 为图像的每个像素设置相同(恒定)的色调值?
我正在尝试使用 ColorMatrix 为整个图像设置一个恒定的色调值。我的目标是使整个图像看起来具有相同的颜色,而不会失去任何区域的亮度。我找到了一种通过使用 ColorMatrix 来改变图像色调值的方法,但我找不到任何方法来为所有像素设置相同的色调值。我可以通过迭代图像的每个像素来做到这一点,但这种方法太慢了。我不确定是否可以使用 ColorMatrix 来做到这一点,并且我对 ColorMatrix 方法以外的可能解决方案持开放态度。
*这可以用颜色矩阵来完成
** 我可以用迭代像素做到这一点,但不能用 ColorMatrix
PS:我正在尝试在 Android 上执行此操作,但我相信这个问题与 android 没有直接关系,因为 ColorMatrix 方法在 Flash、C# 等其他平台上很常见。
c# - 如何在 C# 中修改颜色亮度?
在 c# 中,您可以通过执行 Color.GetBrightness() 来获取颜色的 HSL 亮度。如果我想将颜色的亮度增加一定百分比,我不能简单地将单个 RGB 值乘以该数量。似乎 HSL 不能那样工作。我该怎么做?
css - 在 CSS 中,HSL 值可以是浮点数吗?
CSS3 规范仅指定:
函数符号中 HSLA 颜色值的格式是“hsla(”,后跟以度数表示的色调,以百分比表示的饱和度和亮度,以及一个 ,后跟“)”。
那么我是否理解这些值不会被解释为整数而是浮点数?例子:
hsla(200.2, 90.5%, 10.2%, .2)
这将极大地扩展 HSL 覆盖的原本较小(相对于 RGB)的颜色范围。
它似乎在 Chrome 中渲染得很好,但我不知道他们是否只是将其解析为 INT 值或什么。
colors - 从 Hue 获取 RGB(S & L 为 100)
我需要得到一个 HSL 的 RGB 和 SL 都最大。(从 125、100、100 获取 RGB)
所以,只是色调在变化。
有一个简单的公式吗?
谢谢
image-processing - 比较两个组件的颜色
如果它们相等或不相等,我想与填充颜色的组件进行比较我执行以下算法,我对 rgb 进行平均如下
然后将它们进行如下比较
但这种方式根本不准确
搜索后我发现最好的方法是将图像转换为 HSL 空间并进行比较,但我不知道如何比较 2 种颜色?!这里
换句话说,将图像转换为 HSL 空间后,我该怎么办?!
请帮忙 !!
修改问题以获得更多说明,我的意思是使用分量(点序列),所以在平均步骤中,实际上我重新访问计算每个像素的 rgb 平均值之和的所有点,然后对点的总数进行平均
c# - 使用 c# 更改位图的 HSL 值
我想知道如何使用 C# 更改位图的 HSL 值。必须可以加载位图并在每个像素上更改其 HSL 值。
colors - 如何通过 HSL 颜色着色?
我有一个复杂的问题,但可以通过这个小问题来解决。我想做一个着色器,它按像素工作。
我为图片定义了基色(图片有一些具有这种颜色的像素和许多其他接近这种颜色的像素):
我知道我的目标基色:
所以,我想为图像着色。
我的假设是,如果我在这两个 HSL 值中找到相关性,我可以逐像素为我的图片着色。
目前我发现如果我用(目标色调 - 基础色调)= -76 移动基色色调,色调会很好。
你能指导我解决这个问题的饱和度和亮度之间的联系在哪里吗?