我正在使用opencv模块读取和写入图像。这是代码,下面是我正在读取的图像,第二个图像是使用cv2.imwrite()将其保存在磁盘上之后。

import cv2

img = cv2.imread('originalImage.jpg')
cv2.imwrite('test.jpg',img)

python - 颜色变得暗淡: opencv cv2.读入cv2.imwrite-LMLPHP

python - 颜色变得暗淡: opencv cv2.读入cv2.imwrite-LMLPHP

可以明显看出,第二张图像中色彩暗淡。有没有解决此问题的方法,或者我缺少某种设置参数..?

最佳答案

不同之处在于,初始图像(在图的左侧)具有附加的ICC配置文件,而第二个图像(在图右侧)则没有。

python - 颜色变得暗淡: opencv cv2.读入cv2.imwrite-LMLPHP

我通过运行名为identify ImageMagick 实用程序来获得以上图像:

identify -verbose first.jpg    > 1.txt
identify -verbose second.jpg   > 2.txt

然后,我运行了出色的opendiff工具(它是 macOS 的一部分),如下所示:
opendiff [12].txt

您也可以使用 ImageMagick 从第一张图像中提取ICC配置文件,如下所示:
convert first.jpg profile.icc

10-08 05:09