python: при чтении и сохранении изображения цвет меняется - PullRequest
0 голосов
/ 30 декабря 2018

Я попытался загрузить и сохранить изображения с помощью Python, используя cv2, PIL, scipy, но сохраненное изображение имеет немного другой цвет по сравнению с оригиналом.

Я загружаю и сохраняю формат tif, поэтому я ожидаю, что нетизменение цвета.

ссылка на изображение, которое я использую: https://data.csail.mit.edu/graphics/fivek/img/tiff16_c/a0486-jmac_MG_0791.tif

разница между загруженным изображением и сохраненным изображением:

помогите понять что я делаю не так?Почему изменение цвета?

обновление: проблема в том, что изображение имеет цвет prophoto rgb.кто-нибудь знает, как я могу преобразовать пакет изображений из prophoto rgb в rgb?

спасибо, yoav

опция 1:

img = imread(file_name)
imsave('imread.tif', img)

опция 2:

img = cv2.imread(file_name)
cv2.imwrite('cv2.tif', img)

вариант 3:

img = Image.open(file_name)
img.save('pil.tif')

1 Ответ

0 голосов
/ 31 декабря 2018

I думаю OpenCV больше интересует Computer Vision - то есть обнаружение и измерение объектов и т. Д., Чем печать или высококачественное воспроизведение, редактирование и печать изображений, поэтому он в значительной степени игнорирует профили ICC.Если кто-то знает лучше, я рад, что меня исправят.

Вы можете использовать ImageMagick для преобразования изображений из одного формата в другой, а также для выполнения многих, многих других задач, одним из которых являетсяизменение цветовых профилей.Поэтому, я думаю, если вы зайдете на этот сайт и загрузите профиль sRGB (я выбрал первый с "предпочтением" в его названии) и сохраните его как sRGB.icc,Вы можете изменить одно из ваших изображений ProPhoto на обычное изображение sRGB с помощью следующей команды в Терминале:

convert input.tif -profile sRGB.icc output.tiff

Попробуйте и посмотрите, работает ли оно.Если это так, сделайте копию своих изображений , а на копии вы можете запустить mogrify, чтобы сделать все за один раз - остерегайтесь и сделайте копию, как я предлагаю, потому что она очень быстро изменит всеваши изображения ...

magick mogrify -profile sRGB.icc *tif

Вы можете просмотреть встроенный профиль и множество другой информации об изображении, используя команду ImageMagick identify:

magick identify -verbose OneOfYourImages.tiff
...