Как масштабировать изображение, не переворачивая его (с помощью библиотеки изображений Python) - PullRequest
0 голосов
/ 07 февраля 2009

При изменении размеров изображений по линиям, показанным в этом вопросе , иногда получающееся изображение инвертируется. Приблизительно 1% изображений, которые я изменяю, инвертированы, остальное в порядке. До сих пор мне не удалось выяснить, в чем отличие этих изображений.

См. пример измененного размера и исходное изображение для примеров.

Любые предложения о том, как отследить эту проблему?

Ответы [ 2 ]

3 голосов
/ 11 февраля 2009

Я наконец-то смог найти кого-то, имеющего опыт работы с JPEG, и с некоторыми дополнительными знаниями смог найти решение.

  1. JPEG очень недооценен Формат.
  2. Второе изображение является допустимым JPEG, но оно находится в цветовом пространстве CMYK, а не в цветовом пространстве RGB.
  3. Инструменты для дизайна (читай: вещи от Apple) могут обрабатывать CMYK JPEG, другие - (Firefox, IE) - нет.
  4. CMYK JPEG имеет значение очень ниже указанного и способ, которым Adobe Photoshop записывает его на диск, граничит с ошибкой.

Лучшее из всего этого есть исправление для решения проблемы.

2 голосов
/ 07 февраля 2009

Ваше оригинальное изображение не будет отображаться для меня; Firefox говорит

The image “http://images.hudora.de/o/NIRV2MRR3XJGR52JATL6BOVMQMFSV54I01.jpeg” 
cannot be displayed, because it contains errors.

Это говорит о том, что проблема возникает, когда вы пытаетесь изменить размер поврежденного JPEG, и на самом деле ваш пример с измененным размером показывает то, что выглядит как повреждение JPEG на мой взгляд (когда-либо взламывал изображение JPEG и вертел несколько бит, чтобы посмотреть, что оно выход? у меня есть, и некоторые из моих отвратительных творений выглядели так). Существует несколько инструментов для восстановления JPEG, но я никогда серьезно не пробовал ни один из них и не знаю, смогут ли они вам помочь.

...