Слияние двух картинок

25

Есть ли в Ubuntu инструмент для автоматического объединения двух изображений, имеющих общую полосу? Мне нужно отсканировать большое изображение, которое не поместится сразу в сканер. Я думал о том, чтобы отсканировать его в две части и вручную отредактировать результат в Gimp, чтобы присоединиться к ним. Но, вероятно, автоматический инструмент может сделать то же самое быстрее и лучше.

РЕДАКТИРОВАТЬ Я думаю, что я, возможно, не разъяснил свою точку зрения. Моя сложность заключается не в выравнивании двух изображений. Моя проблема заключается в том, что нужно компенсировать вращение или искажение, вызванные ручным процессом помещения листа в сканер, и автоматический инструмент должен получать более точные результаты при анализе общих рисунков на двух изображениях, чтобы вращать и выравнивать их плавно.

Andrea
источник

Ответы:

33

Использование инструментов, поставляемых с ImageMagick

Установить через центр программного обеспечения

Мы можем легко объединить, т.е. «смонтировать» изображения в одно большое изображение с помощью следующей команды

montage -geometry 500 image1 image2 [...] output

Смотрите страницу проекта для многих параметров опции геометрии . В приведенном выше примере все изображения будут масштабироваться до ширины 500пикселей перед их объединением. Адаптируйте это значение для ваших размеров изображения. Если вам нужна фиксированная высота, выберите x500вместо этого. Другое измерение будет масштабировано, чтобы сохранить соотношение сторон.


Вдохновленный этим сообщением о том, что ImageMagick имеет инструмент командной строки, названный convertдля объединения изображений. Чтобы объединить изображения по горизонтали (в алфавитном порядке) :

convert +append *.png out.png 

Чтобы расположить изображения вертикально :

convert -append *.png out.png

Это должно быть запущено в терминале в папку, содержащую png файлы, чтобы объединить их все.

Gui для этого будет:

контекстное меню файлового менеджера для объединения выбранных изображений.

Простой способ, когда дело доходит до этого, - это пользовательские действия Thunar:

Чтобы объединить выбранные изображения по вертикали (в один pngфайл, в алфавитном порядке, независимо от их расширения), добавьте это настраиваемое действие:

convert -append %F joined-vertical.png

Чтобы присоединиться горизонтально:

convert +append %F joined-horizontal.png

Для более сложного способа сборки изображений вы можете поискать программное обеспечение для сшивания панорамных фотографий, такое как hugin Установить хугин

Установить через центр программного обеспечения

или пандора плагин для Gimp.

Takkat
источник
Будет ли монтаж автоматически сопоставлять похожие детали на двух изображениях?
Андреа
Извините, тогда это не то, что я ищу. Весь вопрос в том, чтобы найти инструмент, который будет автоматически сопоставлять похожие части на двух изображениях.
Андреа
1
ты лучший :)
глупость
@ Андреа: вы нашли способ решить вашу проблему? Montage не для вас, но взгляните на другую команду: imagemagick.org/script/command-line-tools.php
Ooker
1
@landroni - я сделал правку, которая также позволяет объединяться по вертикали
5

Я наконец остановился на Хугине. Это требует некоторого ручного вмешательства, но дало действительно хороший результат.

Вот учебник, который объясняет, как использовать Hugin, чтобы он не пытался деформировать ваши плоские изображения (этот инструмент был создан для получения панорамных изображений из отдельных изображений, следовательно, он обычно компенсирует предполагаемые эффекты).

Andrea
источник
почему ты не принимаешь это?
Ooker
5

Вы можете легко достичь этого с Gimp .

1) Создать новый файл Файл-> Новый

В диалоговом окне «Создать новое изображение» добавьте желаемую высоту и ширину. Это даст вам новый файл, который может выглядеть следующим образом (в зависимости от заданных размеров):

2) Откройте два изображения, которые вы хотите объединить из File -> Open ...

3) Затем нажмите кнопку «Копировать» на изображении « Правка» -> «Копировать» ...

4) Перейдите к пустому файлу, который вы создали первым на шаге 1, и вставьте изображения (Скопируйте и вставьте первое изображение, а затем скопируйте и вставьте второе) Правка -> Вставить

5) Расположите два изображения с помощью опции «Переместить» на панели инструментов.

Когда вставленное изображение окажется там, где вы хотите, установите его на место. Либо перемещайте курсор на холст, пока не увидите маленький символ привязки, либо нажмите «Слой» на панели инструментов, затем выберите «Якорь»:

6) Масштабировать новый файл с двумя объединенными изображениями Image -> Scale Image ...

Длин
источник
Это то, что я думал сделать. Опять же, вероятно, автоматический инструмент может сделать то же самое быстрее и лучше. Я хочу сказать, что автоматический инструмент должен выровнять вещи лучше, чем я вручную.
Андреа
Я не знаю, есть ли какие-нибудь программы для такой простой вещи на самом деле. Но все же я уверен, что вы не можете быть ТАКИМ ленивым ... это не займет у вас больше 5 минут :)
Длин,
Дело не в лени. Помещение большого листа в сканер дает два изображения, которые слегка повернуты, и мне нужно это компенсировать. Делать это вручную, чтобы результат был плавным, не так просто
Андреа
1

Я успешно включил jpg в панораму с помощью программы fotoxx. У него есть инструмент как раз для этой цели под панелью инструментов "Объединить"

Rickzc
источник
Ага. Теперь, как я могу установить и использовать эту программу? Есть ли какая-нибудь процедура?
Брайам