问题标签 [color-space]

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.

0 投票
6 回答
17320 浏览

image-processing - HSL 是否优于 HSI 和 HSV 颜色空间?

HSL 是否优于 HSI 和 HSV,因为它考虑了人类的感知。对于某些图像处理算法,他们说我可以使用这些色彩空间中的任何一种,但我不确定该选择哪一种。我的意思是,算法只关心你为它们提供色调和饱和度通道,你可以选择使用哪个颜色空间

0 投票
0 回答
2186 浏览

colors - 在 SVG 文件中编码 PANTONE 颜色的正确方法是什么?

我有一个应用程序可以输出 SVG 图像,出于打印目的,我希望它能够生成正确编码的 PANTONE 颜色(如果已知)。SVG 规范在输出的外观方面不是很详细,尽管进行了一些搜索,但我无法在网上找到任何示例。

到目前为止,我的尝试不适用于显示目的(至少在 Google Chrome 中不起作用),所以我可能不在此处,但到目前为止,我已经尝试过这个要点):

我可能需要根据SVG 规范的注释指定这是什么颜色配置文件,但我不太确定如何。输入赞赏。

0 投票
1 回答
1185 浏览

image-processing - 图像处理中如何使用CIELAB获得光照不变性?

我发现不推荐在 RGB 空间中使用欧几里得距离来比较图像分割等应用中的两种颜色,因为它依赖于照明和光照条件。此外,由于 HSV色调值在低强度下的数值不稳定性,因此 CIELAB 颜色空间被认为是更好的选择。

我的问题是我不明白如何实际使用它:由于 CIELAB 与设备无关,因此您不能简单地从某些 RGB 值转换为它,而无需了解用于获取这些 RGB 值的传感器的任何信息。据我所知,您必须首先在中间步骤中转换为 CIEXYZ,但根据源的确切 RGB 工作空间,有几种不同的矩阵可用。

或者,如果您只想使用 CIELAB 比较两种颜色(如我所说,例如执行图像分割),您选择的矩阵是否无关紧要?

0 投票
1 回答
114 浏览

winapi - 用于 DirecShow 的 Microsoft Lync colospaces

我正在开发一个 DirectShow 过滤器,它将充当我的网络摄像机和 Microsoft Lync 之间的适配器。

我不确定支持哪些色彩空间格式。

关于我在哪里可以找到此类信息的任何线索?

0 投票
1 回答
809 浏览

imagemagick - ImageMagick 在 HSL 上的合成(不是 HSB 也不是 HSV)

我只想通过编写一个 CUI 工具来替换 Photoshop 基于 HSL 的混合模式(颜色/色调/饱和度/亮度)。如果我可以通过 RMagick 做到这一点,那就更好了。

ImageMagick 可以管理 HSL 颜色空间,但 ImageMagick 的复合运算符 Colorize/Hue/Saturation/Luminize 被硬编码为基于 HSB 颜色空间。

有没有不编写逐像素处理代码的解决方法?谢谢。

0 投票
1 回答
753 浏览

objective-c - CGDisplayCreateImageForRect 图像与捕获的图像颜色不匹配

我正在使用以下代码捕获 1px x 1px 的屏幕截图。然后我对图像进行采样并获得一个 NSColor。

一切正常,除了捕获像素的颜色与源图像上的颜色不匹配。例如:我在 Photoshop 上制作了一个红色方块。我将正方形的颜色设置为 RGB 红色:255、绿色:0 和蓝色:0。当我在屏幕上的那个正方形内捕获一个像素时,我得到 RGB 红色:255,绿色:0,蓝色:17。有没有办法使捕获的图像与原始颜色匹配?

编辑: 另外,当我在 Photoshop 中截取红色方块并读取屏幕截图上的 RGB 颜色时,颜色也是红色:255,绿色:0,蓝色:17。这似乎是操作系统上的色彩空间行为。这会是预期的行为吗?这段代码基本上是一个颜色选择器,就像 Photoshop 上的颜色选择器一样。但是,我假设 Photoshop 会在此过程中的某处校正颜色。有任何想法吗?

谢谢!

0 投票
0 回答
1107 浏览

graph - 如何使用 DirectShow 默认的“视频渲染器”渲染 NV12

我正在尝试开发一个视频源 DirectShow 过滤器。

以下图表有效:

[h264 源]->[Elecard H264 解码器]->[视频渲染器]
[h264 源]->[MS DTV-DVD 解码器]->[DMO 颜色转换器]->[视频渲染器]

我的过滤器输出 h264,它将被解码为 NV12,然后使用默认的基本视频渲染器以某种方式渲染,该渲染器只接受 RGB32。

视频渲染器是我无法解决的限制。当我尝试将过滤器自动连接到渲染器时,会自动加载“AVI 解压缩器”但不起作用。

我现在的解决方案是安装可以输出 RGB32 的 Elecard H264 解码器。我需要安装某种具有高 MERIT 值的颜色转换器。默认的 DMO 颜色转换器可以为我做到这一点,但它的 MERIT 似乎不够高。我不想依赖昂贵的第 3 方解决方案。

我可以弄乱 DMO 颜色转换的优点来强制它加载,但这似乎不是一个好的解决方案。我可能会影响系统上的其他应用程序。另一种可能性是开发我的颜色转换器过滤器,它也可能与已安装的应用程序发生冲突。

我不确定如何进行。

0 投票
2 回答
1830 浏览

libavcodec - sws_scale 的替代方案

我正在使用 libavcodec 使用 x264 对捕获的 Windows 屏幕进行编码。由于输入是 RGB,我将其转换为 YUV 以使其与 x264 兼容。我正在使用 sws_scale 函数。我的问题是这个功能是否有任何替代品,因为在我的情况下我不需要进行任何缩放。此外,如果有人可以阐明此功能的工作流程,那将很有用。

PS:我假设 x264 仅在 YUV 颜色空间中运行。如果这个假设不正确,请同样通知我。

提前致谢。

0 投票
3 回答
2581 浏览

iphone - 释放 CGColorSpaceRef 时 Iphone 应用程序崩溃

我正在使用CGColorSpaceRef,当我释放它时,它会崩溃。我创建和发布的方式

完成一些任务然后释放

编译器显示的错误是“断言失败:(!state->is_singleton),函数color_space_state_dealloc,文件ColorSpaces / CGColorSpace.c,第127行”当我没有释放色彩空间或只是将其设置为nil时会发生奇怪的事情,我不知道为什么会这样。请帮助我。提前致谢。度过快乐的一天。

0 投票
1 回答
2704 浏览

c - 如何在 C 中将 RGB 转换为 HSL?

如何在 C/C++ 中将 RGB 转换为 HSL?

(注意:这是一个(简短的)自我回答——我把它贴在这里,这样人们就可以通过搜索快速找到它。)