Какое приложение может вращать TIFF без перекодирования? - Фотопедия
3 голосов
/ 28 мая 2016

Это продолжение вопроса на Apple.stackexchange.com, Почему поворот TIFF в режиме предварительного просмотра увеличивает размер файла?

Одна вещь, которая мне не нравится в Preview.app, заключается в том, что даже такая простая вещь, как поворот изображения на 90 градусов, требует предварительного просмотра для перекодирования файла и добавления альфа-канала в процессе. В результате получается файл, который на 10–20% больше исходного, без дополнительных преимуществ. Эта разница в размере может не иметь большого значения для файла размером 5 МБ, но для файла размером 500 МБ это неудобство.

(Интересно, что Preview.app не увеличивает размер файла, если вы поворачиваете PDF.)

Я дал GraphicConverter 10 выстрел. Все, что я сделал, это повернул TIFF и сохранил, и размер файла увеличился примерно на 60% - это даже хуже, чем Preview.

Я попытался IrfanView в Windows, и это также увеличило размер файла примерно на 60%.

Существуют ли приложения, которые могут поворачивать изображение TIFF на 90 градусов, не перекодируя его и не изменяя изображение любым другим способом? Источником TIFF является сканер, который не имеет функции поворота.

Я выполнил поиск, и все, что я нашел, было программами JPEG.


(rMBP 2013) - (OS X 10.11.4) - (Я тоже открыт для программ Windows.)

Ответы [ 2 ]

4 голосов
/ 28 мая 2016

Это возможно и даже тривиально, но я не знаю ни одного приложения, чтобы выполнить эту задачу специально.

Причина, по которой размер файла изменяется при повороте, заключается в том, что файлы TIFF кодируются без потерь, поскольку можно было бы сжимать поток компонентов пикселей из одного угла изображения в противоположный. Если вы рассматриваете кодирование по длине (RLE), которое является обычной кодировкой TIFF, легко понять, почему одно и то же изображение не будет сжиматься до одинакового размера после поворота. В равной степени вероятно, что размер файла увеличится, а не уменьшится.

Хотя есть простой способ обойти это, и это просто изменить тег, который говорит, как пиксели упорядочены в изображении. Простое изменение тега с упорядочения по строке на эквивалентное упорядочение по столбцу позволяет эффективно поворачивать изображение без каких-либо изменений в пиксельных данных. Вы можете прочитать подробности о формате TIFF здесь , просто найдите тег 274 (Ориентация).

Честно говоря, я думал, что никто не использует пиксели памяти, ориентированные на столбцы, поэтому, когда я изначально писал кодек TIFF, я упустил эту возможность для простоты. Как это и случилось, однажды мы получили такое изображение в формате TIFF, и мой код действительно вылетел! Надеюсь, что не многие другие разработчики воспользовались этим сокращением. Оказывается, что рассматриваемый файл был получен со сканера, который всегда выполнял сканирование и кодирование всегда одинаково, но устанавливал флаг ориентации в зависимости от того, был ли он загружен в полосу с кадрами в альбомной или портретной ориентации.

0 голосов
/ 29 мая 2016

Раньше я не соответствовал типу сжатия, что по крайней мере частично приводило к увеличению размера файла. В случае, если кто-то сталкивается с этим вопросом и ему любопытно, вот результаты перебора различных программ: поворот TIFF-файла 21,3 МБ на 90 ° против часовой стрелки, сопоставление для типа сжатия (LZW) и порядка байтов (big-endian) ( если предоставляется опция):

XnView MP: 30,4 МБ

GraphicsConverter: 30,2 МБ

Preview.app: 25,0 МБ

IrfanView (только для Windows): 22,2 МБ

Xee: 22,070 МБ

ToyViewer: 22,067 МБ

Единственной из этих программ, которая добавляет альфа-канал к файлу, является Preview.

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

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