问题标签 [color-management]

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 投票
5 回答
1889 浏览

windows - WcsGetDefaultColorProfile 的代码示例

有没有人有一个工作代码示例显示调用 Windows 颜色系统函数WcsGetDefaultColorProfile以获取特定设备的默认颜色配置文件?当我为 pDeviceName 参数传递 null 时,它对我有用,但是当我尝试传递监视器的设备名称时,我总是返回错误代码 ERROR_FILE_NOT_FOUND。

我更喜欢 C# 示例,但我会尽我所能。我在任何地方都找不到较新的 WCS 配置文件管理功能的任何示例代码。

0 投票
0 回答
650 浏览

php - PHP GD剥离后将ICC颜色配置文件添加到图像的脚本?

我使用在线购物车出售我的摄影作品。该软件使用 GD 库动态调整图像大小和水印,当它这样做时,它会删除所有元数据,包括使图像在颜色管理的浏览器中正确显示所需的 ICC 颜色配置文件。我在这里说的是 sRGB。

有没有办法制作一个可以在 GD 转换之后运行的脚本,可以自动将 ICC 配置文件添加到图像中?在这一点上,我不认为 ImageMagick 是一种选择。

谢谢!

0 投票
1 回答
431 浏览

c# - 为什么这么多时间函数 Color.FromValues

为使用 ICC 配置文件的颜色转换编写了一个小测试。转换功能的工作速度要慢 1,000 倍!

有什么问题?

0 投票
1 回答
1268 浏览

histogram - CIAreaHistogram 输入比例因子

我正在构建一个使用CIAreaHistogramCore Image 过滤器的应用程序。我使用inputCount10 的值(桶数)进行测试,使用inputScale1 的值。

我得到了CIImage直方图本身的 ,然后我通过一个自定义内核(见帖子结尾)将 alpha 值设置为 1(否则直方图计算中的 alpha 值是预乘的),然后将其转换为NSBitmapImageRep.

然后我扫描图像代表的缓冲区并打印 RGB 值(跳过 alpha 值)。但是,当我这样做时,10 个中 R、G 和 B 值的总和不一定等于 255。

例如,对于全黑图像,我应用直方图,然后应用自定义内核,并获得以下输出:

这正如我所料,因为所有像素都是黑色的,所以一切都在第一个桶中。但是,如果我对彩色图像运行相同的算法,我会得到以下结果:

将 R、G 和 B 的值相加 - 它们加起来不等于 255。这会导致问题,因为我需要比较其中两个直方图,而我的算法预计总和在 0 到 255 之间。我显然可以缩放这些值,但出于性能原因,我想避免额外的步骤。

我注意到其他一些有趣的事情可能会提供一些关于为什么会发生这种情况的线索。在我的自定义内核中,我只是将 alpha 值设置为 1。我尝试了第二个内核(见帖子末尾),它将所有像素设置为红色。显然,绿色和蓝色值为零。但是,在检查位图代表的值时,我得到了这个结果:

但我只是将 G 和 B 设置为零!这似乎是问题的一部分,这表明色彩管理。但是由于我在内核中明确设置了值,因此只有一个代码块可以发生这种情况 - 从过滤器的 CIImage 转换为 NSBitmapImageRep:

一旦我将像素设置为 RGB 255 0 0,然后执行这些行,然后读取缓冲区,RGB 值都是 255 43 25。我进一步尝试设置整个工作流程所基于的原始 CGImageRef 的颜色空间kCGColorSpaceGenericRGB,认为颜色配置文件可能正在执行,但无济于事。

谁能告诉我为什么CIFilter内核会以这种方式运行,以及如何解决它?

如前所述,这里是我使用的 CIFilter 内核函数的副本。首先,将 alpha 设置为 1 的那个:

接下来,将所有像素设置为 RGB 255 0 0 但一旦转换为 255 43 25 就结束了NSBitmapImageRep

在此先感谢您的帮助。

0 投票
1 回答
129 浏览

python - 如何将图像显示为使用 wxPython 管理的颜色?

我想用 wxPython 显示带有嵌入式 ICC 配置文件的图像。要正确显示它们,需要将它们转换为当前显示配置文件。

有没有办法让 wxPython 自动进行转换?

如果没有,我怎样才能让显示配置文件自己进行转换?

0 投票
1 回答
4593 浏览

php - 使用 PHP 或 Imagick 获取图像 ICC 配置文件

我整天都在为这个问题苦苦挣扎,并惊讶于找不到任何文档!

我正在将图像上传到网站并想提取每个图像 ICC 配置文件的名称并在图像描述中使用它。到目前为止,标准 PHP 没有产生任何结果。我用 Photoshop、Bridge 和 Exiftool 检查了图像,每个都识别出嵌入的配置文件。

Imagick 产生了最好的结果:

生成一个实际提及配置文件但不是可用字符串的数组。任何帮助表示赞赏。

我正在使用这些版本:

PHP 版本 5.2.17 - imagick 模块版本 3.0.1 - ImageMagick 版本 6.7.6-8

print_r返回(对于“ProPhoto RGB”ICC 配置文件):

Array ( [icc] => �KCMSmntrRGB XYZ � :acspMSFTKODAROMM���+KODAcprtHdesc\�wtpt�rTRC�gTRC�bTRC�rXYZgXYZbXYZ,dmnd@ndmdd��mmod�(textCopyright (c) Eastman Kodak Company, 1999, all rights reserved.desc ProPhoto RGB��ProPhoto RGB ProPhoto RGBXYZ ���,curv�XYZ �4I�XYZ "��>XYZ �-descKODAK��KODAKKODAKdesc'Reference Output Medium Metric(ROMM) (��Reference Output Medium Metric(ROMM) ) '参考输出介质公制 (ROMM) mmod......;' )

完整(来自 Exiftool):

0 投票
1 回答
3798 浏览

c++ - 使用 ICC 配置文件将 L*a*b* 转换为 RGB

我想在移动设备 Android/iPhone 上显示正确的颜色,所以我为每个设备创建了一个 ICC 配置文件。我的颜色是 L*a*b* (CIELAB) 格式。从 L*a*b* 到 RGB 的转换通过 XYZ 颜色空间,我使用Bruce Lindbloom 的网络中的数学。

问题是,将 XYZ 转换为 RGB 的算法(整个网络,不仅在 Lindbloom 的网络上)直接转换为 sRGB 配置文件。然后我从 sRGB 转换为我设备的 ICC 配置文件(我使用来自 www.color.org 的“SampleICC”库)。有没有办法直接将 XYZ 值转换为我设备的配置文件并跳过 sRGB,最好使用 SampleICC 库,或者是否有任何其他 C/C++ 库用于应用 ICC 配置文件?...带有文档和/或示例。我想要这个以获得更好的精度。

编辑: 根据@Nikita Nemkin 的建议,我尝试了使用内置 Lab 配置文件的小 CMS,并创建了这样的转换:

这给了我一些不同的结果,然后是我之前的算法(Lab -> XYZ -> sRGB -> RGB 和自定义 ICC 配置文件)使用 SampleICC 库,尤其是对于较深的颜色。这是部分原因,因为在我的第一个算法中,我没有在 Lab -> XYZ 转换中调整较深的颜色。真正糟糕的是,这两种转换都给出了不同的结果,然后在 Photoshop 中进行转换。例如:

所有转换都是通过相对色度意图完成的,在 Photoshop 中我使用了黑点补偿和 Adob​​e 引擎。我应该相信哪个号码?是否有任何 100% 可靠的软件来检查我的价值观?

0 投票
1 回答
2525 浏览

ghostscript - 使用 Ghostscript 嵌入 ICC 配置文件

我需要在 Ubuntu 中使用 Ghostscript 9.07 将 PS 转换为 PDF 时嵌入 ICC 配置文件。你能给我确切的命令来启用 Icc 配置文件吗?

icc简介详情:

我是这个 Ghostscript 的新手。请帮帮我。

0 投票
2 回答
5558 浏览

pdf - 如何在 PDF 中转储嵌入式 ICC 配置文件信息?(命令行或 GUI 工具)

是否有命令行或 GUI 工具来转储有关 ICC 配置文件/颜色转换的信息,这些信息设置为 Illustrator 的 PDF 导出对话框的“PDF 的颜色管理和 PDF/X 选项”选项?


Illustrator 的“PDF 的颜色管理和 PDF/X 选项”选项

[图片] http://blogs.adobe.com/vikrant/files/2012/05/grayscale_export.png

[手册] http://help.adobe.com/en_US/illustrator/cs/using/WS714a382cdf7d304e7e07d0100196cbc5f-6547a.html#WS714a382cdf7d304e7e07d0100196cbc5f-6540a

0 投票
1 回答
522 浏览

python - 在 PIL 中保留 ICC 颜色配置文件时文件大小增加

我正在使用 PIL 来调整图像大小。为确保调整大小的图像仍具有与原始图像相同的颜色,ICC 颜色配置文件会再次添加到输出图像中。

代码如下所示:

一切正常,除了调整大小(较小)图像的文件大小比原始图像还要大。

例子:

  • 原始图像 => 1.2 MB
  • 没有ICC配置文件的调整大小的图像=> 485.1 kB
  • 使用 ICC 配置文件调整大小的图像 => 1.8 MB

如果您想检查它们,我在这里上传了图像:http ://www.fileswap.com/dl/ueKjdYLKZS/

有谁知道为什么文件大小会增加那么多以及是否有解决方法?

任何帮助表示赞赏。谢谢!