问题标签 [srgb]

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 投票
0 回答
544 浏览

pdf - 将 sRGB PDF 转换为不同的 RGB 颜色配置文件

我有一个带有 sRGB 颜色配置文件的 PDF,我想将其转换为不同的 RGB 颜色配置文件。到目前为止,我已经尝试使用具有各种参数值的 ghostscript,但没有运气——例如,我尝试了以下操作:

上面的命令运行没有错误,但不影响色彩空间;output.pdf 仍然嵌入了原始的 sRGB 颜色配置文件。

使用ghostscript(或其他可以以编程方式使用的工具)是否可以进行这种转换?如果是这样,我哪里错了?

0 投票
3 回答
2156 浏览

python - 在 Pillow 中调整 SRGB 感知图像大小

Pillow 的基本Image.resize功能似乎没有任何 SRGB 感知过滤选项。有没有办法在 Pillow 中进行 SRGB 感知调整大小?

我可以通过将图像转换为浮动并自己应用 SRGB 转换来手动完成……但我希望有一种内置的方法。

0 投票
1 回答
205 浏览

numerical-methods - sRGB 的线性段以避免无限斜率 - 为什么?

在这篇关于 sRGB ( https://en.wikipedia.org/wiki/SRGB ) 的文章中指出,伽玛变换具有接近零的线性部分,以“避免在 K = 0 处具有无限斜率,这可能导致数值问题”。我想知道这有什么问题。

0 投票
1 回答
7048 浏览

python - 线性到 sRGB 的转换

我正在尝试将值从 srgb/linear 转换。我有这个方程很好用,但病房后我不能把它找回来:

但是使用它取回它不起作用:

所以我想我可以创建某种表格并让 Python 来计算方程,但我不确定......我该怎么做?我有这些值与 sRGB > 线性转换我想以某种方式使用它作为指南来获得我的班轮 > sRGB 转换......或者其他方式我一直在这里迷路......

0 投票
1 回答
586 浏览

imagemagick - ImageMagick 识别 Mac 和 Linux 之间的不同色彩空间

我有一个JPEG图像。

在我的 Mac 上,当我输入:

我明白了Colorspace: sRGB

在我的 Linux 机器上,当我键入相同的内容时,我得到Colorspace: RGB.

为什么?有没有人遇到过这个?


这很重要的原因:

convert img.jpg -colorspace sRGB out.jpg当我在 Mac 和 Linux 之间使用时,我得到了截然不同的结果。显然,如果他们以不同的方式识别源色彩空间,那么我就能明白为什么。

0 投票
1 回答
401 浏览

opengl-es - opengl es 3中的小样本,错误的伽马校正

我有一个小样本es-300-fbo-srgb,应该展示如何在 opengl es3 中管理伽马校正。

基本上我有:

  • GL_SRGB8_ALPHA8纹理_TEXTURE_DIFFUSE
  • 一个带有另一个GL_SRGB8_ALPHA8纹理GL_COLOR_ATTACHMENT0和一个GL_DEPTH_COMPONENT24纹理的帧缓冲区GL_DEPTH_ATTACHMENT
  • 我的默认 fbo 的后台缓冲区是GL_LINEAR
  • GL_FRAMEBUFFER_SRGB最初禁用。

我明白了这个

代替这个

现在,如果我回顾一下display方法,这就是我要做的:

  • TEXTURE_DIFFUSE在 sRGB fbo 上渲染纹理,由于源纹理位于 sRGB 空间中,我的片段着色器将自动读取线性值并将其写入 fbo。Fbo 现在应该包含线性值,虽然它是 sRGB,因为GL_FRAMEBUFFER_SRGB被禁用,所以没有执行线性->sRGB 转换。

  • 我将 fbo 的内容 blit 到默认的 fbo 后台缓冲区(通过程序)。但是由于这个 fbo 的纹理具有 sRGB 分量,因此在读取的值上将执行错误的 gamma 操作,因为它们被假定在 sRGB 空间中,而实际上它们不是。

  • 当我的显示器呈现默认 fbo 的内容时,它会执行第二次伽马操作

所以我的形象是,如果我是对的,那就是错误的两倍。

现在,如果glEnable(GL_FRAMEBUFFER_SRGB);我得到这个

图像看起来已经被 sRGB 校正了太多次..

相反,如果我保留GL_FRAMEBUFFER_SRGB禁用并更改GL_COLOR_ATTACHMENT0我的 fbo 纹理的格式,我最终会得到正确的图像..

为什么我没有得到正确的图像glEnable(GL_FRAMEBUFFER_SRGB);

0 投票
3 回答
394 浏览

ios - 从我的服务器加载的图片在 iPad 应用程序上的颜色错误

我正在开发一个 iPad 应用程序,它可以展示摄影师的照片。这些照片上传到网络服务器,并直接通过应用程序提供,并使用以下方法下载和显示:

我可以观察到原始图片(在我的 Mac 和摄影师的 Mac 上从磁盘或网络显示时相同)和 iPad(结果在应用程序,甚至在 Safari 中)。

经过一番搜索,我发现一些帖子解释了 iDevices 如何不使用嵌入式颜色配置文件,所以我发现我是这样走的。照片使用以下信息保存:

颜色空间:RGB,颜色配置文件:sRGB iec ...

我在一些文章(例如来自 imageoptimanalogsenses的链接)中发现,我应该通过将图片转换为 sRGB 来保存设备导出的图片,而不嵌入颜色配置文件,但我不知道该怎么做?每次我尝试(我没有 photoshop,所以我使用命令行 ImageMagick)时,生成的图片都有以下信息,并且在我的 iPad(以及我测试过的任何其他 iPad)上仍然无法正确显示:

色彩空间:RGB

这是在 iPhone 或 iPad 上无法正确显示但在网络上显示的图片示例

我想对其进行改造以正确显示,任何想法都会受到欢迎:)

[编辑] 我已经成功地使用以下参数使用 Photoshop 的“保存为网络”选项获得了正确的图像: 好的 Photoshop 导出参数 但我仍然无法将这些设置自动应用于我的所有图片。

0 投票
1 回答
155 浏览

image - OpenGL 图像加载/存储是否需要手动 sRGB 到线性转换?

如果使用 SRGB 纹理格式,我是否正确假设您只能在现代 GPU 中通过采样器读取纹理时免费获得 SRGB 转换?

因此,如果我想通过带有图像加载/存储的图像访问相同的 SRGB 纹理,我将不得不手动进行任何 SRGB/线性转换?

IE 执行以下操作:

0 投票
1 回答
2206 浏览

c++ - 使用 WIC 在 DirectX11 中将纹理加载为 RGB 而不是 sRGB

我正在使用CreateWICTextureFromMemoryExDirectXTK加载纹理。我加载的所有内容都转换为sRGB. 有什么方法可以强制WIC创建RGB表面吗?

或者也许有一种方法可以将已经加载的纹理从 转换sRGBRGB?回到D3DX曾经有一个D3DX11_FILTER_SRGB标志(据我了解),但它并没有被弃用。

任何帮助将不胜感激,谢谢!

0 投票
1 回答
1228 浏览

matrix - HDR 颜色空间转换导致负 RGB 值(Yxy 到 XYZ 到 sRGB)

我目前正在将 HDR 添加到旧引擎中,并偶然发现了色彩空间转换问题。

  1. 我在 Yxy 颜色空间中定义我的灯光
  2. 然后我将 Yxy 转换为 XYZ
  3. XYZ 到 sRGB 的转换。
  4. 最后使用色调映射渲染和规范化结果时使用 RGB 值 > 1.0。

我正在处理相当大的数字,因为主要光源是具有高达 150k Lux 照度的太阳。

YxyToXYZ 函数

XYZtosRGB

测试样品:

问题:

  1. 我想负值应该被夹掉?还是我的计算有误?
  2. 这 2 个矩阵产生相似但不同的值(原色非常接近 sRGB)。我想用Wiki替换旧矩阵(我不知道它来自哪里) 。有谁知道旧矩阵来自哪里,哪个是正确的?
  3. 我找到了@Yxy 到 RGB 转换的部分答案,这听起来像是来自一位前同事:)……但并没有解决我的问题。

非常感谢