Как я могу сохранить numpy.ndarray как изображение в cv2 или PIL с правильным типом MIME и цветовым профилем sRGB? - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь сохранить numpy.ndarray как изображение. Кажется, это работает, но когда я перехожу к «Открыть изображение в новой вкладке» в Chrome, Chrome загружает изображение вместо того, чтобы отображать его в новой вкладке.

Мои поиски первоначально привели меня к мысли, что этоПроблема типа MIME, однако все инспекторы, на которых я смотрел, говорят, что она имеет тип MIME image/jpeg. Может быть, это просто выводится из расширения файла - я не знаю, как проверить.

Я пытался использовать и cv2, и PIL, с одинаковыми результатами.

Image.fromarray(img).save('/output.jpg', quality=95) # PIL
cv2.imwrite('/output.jpg', img) # cv2

Я также могу сказать от инспекторов метаданных, что изображение не имеет цветового профиля. Я вижу, что в PIL есть опция для установки профиля в методе image.save(), но все примеры, которые я могу найти, получают профиль из исходного изображения. Например,

im.save(filename, 'jpeg', icc_profile=im.info.get('icc_profile'))

В моем случае я строю массив, поэтому мне некуда получить профиль.

...