Это команда ppmtojpeg, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
pnmtojpeg - преобразовать изображение PNM в изображение JFIF ("JPEG")
СИНТАКСИС
пнмтоджпег [ кредита ] [ имя файла ]
ОПИСАНИЕ
пнмтоджпег преобразует названный файл изображения PBM, PGM или PPM или стандартный ввод, если файла нет
присваивается файлу JFIF на стандартном выходе.
пнмтоджпег использует библиотеку JPEG независимой группы JPEG для создания выходного файла. Видеть
http://www.ijg.org для информации о библиотеке.
«JFIF» - правильное название для формата изображения, широко известного как «JPEG». Строго
говоря, JPEG - это метод сжатия. Формат изображения с использованием сжатия JPEG, который
на сегодняшний день наиболее распространенным является JFIF. Существует также подформат TIFF, в котором используется JPEG.
сжатия.
EXIF - это формат изображения, который является подформатом JFIF (то есть файл JFIF, содержащий
Заголовок EXIF как маркер APP1). пнмтоджпег создает изображение EXIF, когда вы указываете
-exif опцию.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Основные варианты:
--exif =спецификация файла
Этот параметр указывает, что выходное изображение должно быть EXIF (подформат JFIF),
т.е. он будет иметь заголовок EXIF как маркер JFIF APP1. Содержание этого
маркер - это содержимое указанного файла. Особая ценность - означает читать
содержимое заголовка EXIF из стандартного ввода. Недопустимо указывать стандарт
input как для заголовка EXIF, так и для входного изображения.
Файл EXIF начинается с двухбайтового поля, которое представляет собой длину файла,
включая поле длины, в чистом двоичном формате, сначала старший байт. В
специальное значение нуля для поля длины означает, что заголовка EXIF не должно быть,
т.е. то же самое, что и нет -exif вариант. Это полезно, когда вы конвертируете файл из
JFIF в PNM с помощью jpegtopnm, затем преобразовать его, а затем преобразовать обратно в JFIF с помощью
пнмтоджпег, и вы не знаете, включает ли он заголовок EXIF. jpegtopnm
создает файл EXIF, содержащий только два нулевых байта, когда входной JFIF
файл не имеет заголовка EXIF. Таким образом, вы можете передать любой заголовок EXIF из ввода
JFIF в выходной JFIF, не беспокоясь о том, действительно ли заголовок EXIF
существует.
Содержимое файла EXIF после поля длины является точным байтом для байта.
содержимое маркера APP1, не считая поля длины, которое составляет
Заголовок EXIF.
- качество =n
Масштабируйте таблицы квантования для настройки качества изображения. n от 0 (худшее) до 100 (лучшее);
по умолчанию - 75. (Подробнее см. ниже).
- оттенки серого
- серый
Создайте файл JFIF с оттенками серого. С этой опцией пнмтоджпег преобразует ввод цвета в
серая шкала. Если вы не укажете этот параметр, выходной файл будет в цветном формате.
если вход PPM, и формат оттенков серого, если вход PBM или PGM.
В случае ввода PPM, даже если все цвета в изображении серые, на выходе
в цветном формате. Конечно, цвета в нем по-прежнему серые. Разница в том
этот цветовой формат занимает намного больше места и требует больше времени для создания и обработки.
- оптимизировать
Выполните оптимизацию параметров энтропийного кодирования. Без этого пнмтоджпег использования
параметры кодирования по умолчанию. - оптимизировать обычно делает файл JFIF немного
меньше, но пнмтоджпег работает несколько медленнее и требует гораздо больше памяти. Изображение
качество и скорость декомпрессии не зависят от - оптимизировать.
- прогрессивный
Создайте файл JPEG с прогрессивной разверткой (см. Ниже).
--comment =текст
Включите маркер комментария в вывод JFIF с текстом комментария текст. Без этого
вариант, в выводе нет маркеров комментариев.
Команда --качественный опция позволяет вам найти компромисс между размером сжатого файла и качеством
реконструированное изображение: чем выше настройка качества, тем больше размер файла JFIF и
ближе выходное изображение будет к исходному входному. Обычно вы хотите использовать
настройка самого низкого качества (самый маленький файл), которая визуально распаковывается во что-то
неотличимы от исходного изображения. Для этого необходимо установить качество.
от 50 до 95; значение по умолчанию 75 часто бывает правильным. Если вы видите дефекты на
- качество = 75, затем увеличивайте на 5 или 10 единиц за раз, пока результат не будет удовлетворительным.
изображение. (Оптимальная настройка будет варьироваться от одного изображения к другому.)
- качество = 100 генерирует таблицу квантования всех единиц, минимизируя потери в
шаг квантования (но все еще есть потеря информации при подвыборке, а также округление
ошибка). Этот параметр представляет интерес в основном для экспериментальных целей. Ценности качества
выше примерно 95 соток рекомендуется для обычного использования; размер сжатого файла увеличивается
резко, практически без прироста качества выходного изображения.
В противном случае значения качества ниже 50 будут создавать очень маленькие файлы с низким изображением.
качественный. Настройки от 5 до 10 могут быть полезны при подготовке индекса большого изображения.
библиотека, например. Пытаться - качество = 2 (или около того) для забавных кубистских эффектов. (Примечание:
значения качества ниже примерно 25 генерируют 2-байтовые таблицы квантования, которые считаются
необязательно в стандарте JFIF. пнмтоджпег выдает предупреждающее сообщение, когда вы даете такое
значение качества, потому что некоторые другие программы JFIF могут быть не в состоянии декодировать полученный
файл. Использовать - базовая линия если вам нужно обеспечить совместимость при низких значениях качества.)
Команда - прогрессивный опция создает файл "прогрессивного JPEG". В этом типе файла JFIF
данные сохраняются на нескольких сканированных изображениях с повышающимся качеством. Если файл
передается по медленному каналу связи, декодер может использовать первое сканирование для отображения
изображение низкого качества очень быстро, а затем может улучшать отображение с каждым последующим
сканировать. Окончательное изображение в точности эквивалентно стандартному файлу JFIF того же качества.
настройки, а общий размер файла примерно такой же - часто немного меньше. Внимание:
прогрессивный JPEG еще не получил широкого распространения, поэтому многие декодеры не смогут просматривать
прогрессивный файл JPEG вообще.
Возможности для продвинутых пользователей:
--dct = int
Использовать целочисленный метод DCT (по умолчанию).
--dct = быстро
Используйте быстрое целочисленное DCT (менее точное).
--dct = float
Используйте метод DCT с плавающей запятой. Метод с плавающей точкой немного точнее
чем метод int, но он намного медленнее, если на вашей машине нет очень быстрых плавающих
точечное оборудование. Также обратите внимание, что результаты метода с плавающей запятой могут отличаться
немного на разных машинах, в то время как целочисленные методы должны давать одинаковые результаты
где угодно. Метод быстрых целых чисел намного менее точен, чем два других.
--restart =n
Выпускать маркер перезапуска JPEG каждые n Строк MCU или каждые n Блокирует MCU, если вы добавляете B
к номеру. --рестарт 0 (по умолчанию) означает отсутствие маркеров перезапуска.
--smooth =n
Сгладьте входное изображение, чтобы устранить дизеринг-шум. n, от 1 до 100,
указывает силу сглаживания. 0 (по умолчанию) означает отсутствие сглаживания.
--maxmemory =n
Установите ограничение на объем памяти, используемый при обработке больших изображений. Ценность в
тысячи байтов или миллионы байтов, если вы добавите M к номеру. Для
пример, --макс = 4 м выбирает 4,000,000 байт. Если пнмтоджпег нужно больше места, это будет
использовать временные файлы.
--подробный
Распечатать в стандартный файл ошибок сообщения о процессе преобразования. Это может
быть полезным при отладке проблем.
Команда --рестарт вариант говорит пнмтоджпег для вставки дополнительных маркеров, позволяющих декодеру JPEG
повторная синхронизация после ошибки передачи. Без маркеров перезапуска любое повреждение
сжатый файл обычно портит изображение с момента появления ошибки до конца
изображение; с маркерами перезапуска повреждение обычно ограничивается частью изображения вверх
к следующему маркеру перезапуска. Конечно, маркеры перезапуска занимают лишнее место. Мы
рекомендовать --restart = 1 для изображений, которые будут передаваться через ненадежные сети, такие
как Usenet.
Команда --гладкий; плавный опция фильтрует вход для устранения мелкомасштабного шума. Это часто бывает полезно
при преобразовании сглаженных изображений в JFIF: умеренный коэффициент сглаживания от 10 до 50 устраняет
шаблонов дизеринга во входном файле, что приводит к уменьшению размера файла JFIF и улучшению качества изображения.
ищу изображение. Однако слишком большой коэффициент сглаживания приведет к заметному размытию изображения.
Варианты для мастеров:
- базовая линия
Принудительно создавать таблицы квантования, совместимые с базовыми линиями. Это зажимы
значения квантования до 8 бит даже при низких настройках качества. (Этот переключатель плохо
с именем, так как это не гарантирует, что на выходе получается базовый JPEG. Для
Например, вы можете использовать - базовая линия и - прогрессивный все вместе.)
--qtables =спецификация файла
Используйте таблицы квантования, приведенные в указанном текстовом файле.
--qslots = n [, ...]
Выберите, какую таблицу квантования использовать для каждого цветового компонента.
--sample =HxV [, ...]
Установите коэффициенты выборки JPEG для каждого компонента цвета.
--scans =спецификация файла
Используйте сценарий сканирования, указанный в указанном текстовом файле. См. Ниже информацию о
скрипты сканирования.
Опции «мастера» предназначены для экспериментов с JPEG. Если ты не знаешь что
ты делаешь, не использование их. Эти переключатели описаны далее в файле
wizard.doc, который поставляется с библиотекой JPEG независимой группы JPEG.
ПРИМЕРЫ
В этом примере файл PPM foo.ppm сжимается с коэффициентом качества 60 и сохраняет
вывод как foo.jpg:
пнмтоджпег - качество = 60 foo.ppm > фу.jpg
кошка foo.bmp | бмптоппм | пнмтоджпег > фу.jpg
HINTS
JFIF не идеален для мультфильмов, штриховых рисунков и других изображений, в которых есть только несколько
отличные цвета. Для тех, попробуйте вместо этого пнмтопнг or ppmtobmp. Если вам нужно конвертировать
такое изображение в JFIF, однако вам следует поэкспериментировать с пнмтоджпег's --качественный и
--гладкий; плавный варианты, чтобы получить удовлетворительную конверсию. --гладкий; плавный 10 или так часто бывает полезно.
Сжатие JPEG отличается "потерями". Это означает, что, в отличие от большинства
графические преобразования, вы теряете информацию, что означает качество изображения, когда вы конвертируете в
JFIF. Если вы многократно конвертируете из PPM в JFIF и обратно, потеря качества изображения будет
накапливать. После десяти или около того циклов изображение может быть заметно хуже, чем было после
один цикл.
Из-за этого вы должны проделать все манипуляции с изображением в некоторых
другой формат и конвертировать в JFIF в качестве последнего шага. И если вы можете сохранить копию в
оригинальный формат, тем лучше. PNG - хороший выбор для формата без потерь,
все же довольно компактный. GIF - это еще один вариант, но есть вероятность, что вы не можете создать GIF.
image, не имея больших денег у Unisys и IBM, держателей патентов на LZW
сжатие, используемое в формате GIF.
Команда - оптимизировать вариант пнмтоджпег стоит использовать, когда вы делаете "финальную" версию
для публикации или архивирования. Это также выигрыш, когда вы используете настройки низкого качества, чтобы
очень маленькие файлы JFIF; процентное улучшение часто намного больше, чем на более крупном
файлы. (В настоящий момент, - оптимизировать режим включается автоматически, когда вы генерируете
прогрессивный файл JPEG).
Другая программа, cjpeg, похож. cjpeg поддерживается Independent JPEG Group и
упакован с библиотекой JPEG, которая пнмтоджпег использует для всех своих работ в формате JPEG. Из-за
что вы можете ожидать, что он будет использовать более современные функции JPEG. Кроме того, поскольку вам нужно
иметь библиотеку для запуска пнмтоджпег, но не наоборот, cjpeg может быть чаще
доступен.
С другой стороны, cjpeg не использует библиотеки NetPBM для обработки своего ввода, так как все
инструменты NetPBM, такие как пнмтоджпег делать. Это означает, что он с меньшей вероятностью будет соответствовать
все остальные программы, работающие с форматами NetPBM. Кроме того, синтаксис команды
пнмтоджпег совместим с другими инструментами Netpbm, в отличие от cjpeg.
SCAN СЦЕНАРИИ
Использовать -SCAN возможность указать сценарий сканирования. Или используйте -прогрессивный возможность указать
конкретный встроенный скрипт сканирования.
Что такое сценарий сканирования и основной формат файла сценария сканирования, описано в
мастер.doc файл, который поставляется с библиотекой JPEG независимой группы JPEG. Сканировать
сценарии одинаковы для пнмтоджпег как для cjpeg.
Этот раздел содержит дополнительную информацию, которой нет, но, вероятно, должна быть в этом
документа.
Во-первых, существует множество ограничений на то, что является допустимым сценарием сканирования. Библиотека JPEG и
таким образом пнмтоджпег, тщательно проверяет на предмет несоблюдения этих ограничений, но
мало что может сказать вам о том, как сценарий не соответствует требованиям. Сообщения очень общие и
иногда неправда.
Для начала записи для коэффициента постоянного тока должны располагаться перед любыми записями для переменного тока.
коэффициенты. Коэффициент DC равен коэффициенту 0; все остальные коэффициенты AC
коэффициенты. Таким образом, при вводе коэффициента DC два числа после двоеточия должны
быть 0 и 0. В записи для коэффициентов AC первое число после двоеточия не должно быть
0.
В записи DC компоненты цвета должны быть в порядке возрастания. Например, «0,2,1» перед
двоеточие неправильное. То есть «0,0,0».
В записи для коэффициента AC вы должны указать только один компонент цвета. Т.е. там
может быть только одно число перед двоеточием.
В первой записи для определенного коэффициента для определенного цветового компонента "Ah"
значение должно быть нулевым, но значение Al может быть любым допустимым числом битов. В последующих записях
Ah должно быть значением Al из предыдущей записи (для этого коэффициента для этого цвета
компонент), а значение Al должно быть на единицу меньше, чем значение Ah.
В конечном итоге сценарий должен указывать хотя бы часть коэффициента DC для каждого цвета.
составная часть. В противном случае вы получите сообщение об ошибке «Сценарий не передает все данные».
Вам не нужно указывать все биты коэффициента постоянного тока или любой из коэффициентов переменного тока.
Существует стандартный вариант построения библиотеки JPEG, позволяющий исключить возможность скрипта сканирования.
Если по какой-то причине ваша библиотека была построена с этой опцией, вы получите сообщение «Запрошено
функция была опущена во время компиляции ".
ОКРУЖАЮЩАЯ СРЕДА
JPEGMEM
Если эта переменная среды установлена, ее значение является пределом памяти по умолчанию. В
значение указывается, как описано для --maxmemory вариант. Явный
--maxmemory опция отменяет любые JPEGMEM.
Используйте ppmtojpeg в Интернете с помощью сервисов onworks.net