Изменение размера изображения с помощью Imagemagick convert - PullRequest
1 голос
/ 26 сентября 2011

У меня есть изображение YUV420 размером 1280x720. Я пытаюсь изменить его размер до 720x576, используя команду convert (Imagemagick), используя параметры командной строки, указанные ниже. Но сгенерированный выходной файл, похоже, не является надлежащим образом измененным изображением YUV420 (я хочу, чтобы измененный размер изображения также был в формате YUV420):

convert -size 1280x720 -depth 8 -sampling-factor 2x2  test_1280x720_yuv420.yuv  -filter lanczos -resize 720x576 -depth 8 -sampling-factor 2x2  720x576_yuv420.yuv //Here the output file size is not what it should be of a 720x576 YUV420 file which is 720x576x1.5 bytes. 

Qiestion: Каков формат этого выходного файла?

Также пробовал опцию -sample, но результат тот же. Неверный размер выходного файла. Я даже пытался отобразить сгенерированный файл с измененным размером, но он точно не является файлом YUV420, так как не мог его правильно просмотреть.

convert -size 1280x720 -depth 8 -sampling-factor 2x2  test_1280x720_yuv420.yuv   -sample 720x576 -depth 8 -sampling-factor 2x2  720x576_yuv420.yuv

Вопрос: сможет ли новообращенный сделать то, что я пытаюсь сделать? Если да, какие варианты?

Вопрос: Любой другой инструмент (бесплатное, условно-бесплатное), который может помочь мне изменить размер файлов YUV (различные форматы YUV420, YUV444) в выходные файлы формата YUV?

1 Ответ

4 голосов
/ 26 сентября 2011

Попробуйте игнорировать соотношение сторон!

Игнорировать соотношение сторон (флаг '!') Если вы хотите, вы можете заставить «-resize» игнорировать соотношение сторон и искажать изображение, чтобы оно всегда генерировало изображение точно указанного размера. Это делается путем добавления символа «!» к размеру. К сожалению, этот символ также иногда используется для специальных целей различными оболочками командной строки UNIX. Поэтому вам, возможно, придется как-то сбежать от персонажа, чтобы сохранить его.

Пример:

convert image.gif    -resize 64x64\!  resized_image.gif //Resized Image with ignore ratio option
...