如何将对象(打印图像CMYK)图片转换为真正的RGB值?

2024-05-15 21:13:35 发布

您现在位置:Python中文网/ 问答频道 /正文

解释

CMYK(RGB格式)我不知道这种情况的真正含义

如果你在一张纸上打印出RGB,它看起来会和计算机显示的不同,因为它是CMYK格式的。在

然后你给那张纸拍照,它以RGB格式存储,但是所有的颜色仍然与计算机屏幕不同。在

因此,它仍然是打印机(CMYK)的颜色,但在手机中是RGB格式的图片。在

问题

别担心外部因素。。。假设我们处于完美的控制环境中。在

那么我怎样才能把手机上那张纸的颜色转换成和我的电脑显示的一样呢?在

有谁能分享一些理论或示例代码给我作为答案吗?在

示例

用手机相机拍摄的一张打印纸颜色的照片

enter image description here

我的电脑里显示了什么

enter image description here


Tags: 示例环境颜色格式计算机打印机情况图片
2条回答

你不能。色域,一组可以精确表示的颜色,在RGB和CMYK之间是不同的。即使使用世界上最好的(四色处理)打印机,也无法在显示器上显示相同的亮绿色。在

您在示例中使用的颜色是“完全饱和”的颜色,因此无法在其他空间中表示,如果您选择不太饱和的颜色,您应该会有更多的运气

正如@Sneftel所说,它们有不同的色域,因此你不能在两种颜色之间转换

也就是说,您可以查看像colormath这样的库,它允许您执行以下简单的操作:

from colormath.color_objects import sRGBColor, CMYKColor
from colormath.color_conversions import convert_color

convert_color(sRGBColor(1, 1, 0), CMYKColor)

但要在真实图像和这些图像的照片之间进行转换,您需要一个非常可控的环境。上面的代码有非物理的假设,但是我认为您应该能够使用其他中间颜色空间和CIECAM02模型

相关问题 更多 >