Можно ли вращать сжатые с потерями фотографии, которые я просматриваю в средстве просмотра фотографий Windows , не беспокоясь о потере еще большей информации из-за сжатия?
Если размеры изображения кратны 8 (или 16, если используется субдискретизация цветности), то повороты выполняются без потерь. В противном случае невозможно повернуть изображение без пересчета блоков, т.е. повторного сжатия изображения с потерями.
Причина этого в том, что изображения в формате jpeg разбиты на серию блоков размером 8x8 или 16x16, которые сжимаются по отдельности. Неполные блоки разрешены только на правом краю и нижнем краю. Таким образом, ваше изображение не является точным кратным 8/16, оно будет содержать неполные блоки, которые после поворота окажутся на неправильном краю.
Я проверил приведенное выше утверждение, используя версию Windows Photo Viewer, поставляемую с Windows 7. Я использовал два изображения цветового шума. Одно изображение было 256x256, т.е. оба размера кратны 8. Другое изображение было таким же, но обрезано до 253x253, т.е. ни один размер не был кратен 8. Вот изображения:
Затем я выполнил четыре поворота против часовой стрелки, закрывая средство просмотра фотографий после каждого поворота, чтобы убедиться, что изображение сохранено в повернутом состоянии.
Нет необходимости выполнять вычитание, чтобы увидеть разницу с изображением в 253 пикселя, оно заметно темнее и грязнее!
Разница на другом изображении выглядит так:
т.е. изображения идентичны, вращения были без потерь.
Итай
пользователь5306
Мэтт Грум
пользователь5306
пользователь5306
Program Files\Windows Photo Viewer
для моего Acer Aspire с Windows 7.Итай
Горацио
РБертейг
Горацио
Тревор Бойд Смит
Тревор Бойд Смит
Тревор Бойд Смит
Итай
Тревор Бойд Смит
пользователь9874
Салман А
.picasa.ini
файлах. Удалите файл и перезапустите Picasa. Вы заметите, что изображения, которые были повернуты с помощью Picasa, больше не поворачиваются. (ii) приложение для просмотра фотографий Windows 10 изменяет метаданные — размер файла остается прежним.