У меня есть последовательность изображений, которые являются блоками большего изображения, которые вместе составляют целое изображение. Блоки являются результатом разделения исходного изображения по равномерно расположенным горизонтальным и вертикальным линиям, поэтому они не имеют странных размеров.
Есть ли способ объединить их с FFmpeg (или чем-то еще, например ImageMagick) без перекодировать изображения?
В этом ответе предлагается фильтр hstack
или vstack
FFmpeg, но мои блоки изображений не обязательно имеют полную ширину или полную высоту оригинала. image.
Примерно так:
Возможно, этого можно достичь с помощью нескольких команд FFmpeg, используя hstack
или vstack
(я бы предпочитаю только одну команду, хотя). Или со сложным фильтром?
например
Редактировать: я пытался использовать filter_complex
с FFmpeg:
ffmpeg -i 0.jpg -i 1.jpg -i 2.jpg -i 3.jpg -i 4.jpg -i 5.jpg \
-filter_complex "[0][1]hstack=inputs=2[row 0]; \
[2][3]hstack=inputs=2[row 1];
[4][5]hstack=inputs=2[row 2];
[row 0][row 1][row 2]vstack=inputs=3[out]" \
-map "[out]" -c copy out.jpg
, но это не может фильтровать и копировать потоки одновременно.