Как соединить 2 картинки в 1: объединить фотографии и картинки бесплатно

Содержание

Как объединить фотографии в Lightroom

Как партнер Amazon, мы зарабатываем на соответствующих покупках.

Даже с широкоугольным объективом вы, возможно, не сможете захватить большое поле зрения, которое может видеть человеческий глаз. Научившись объединять фотографии в Lightroom, вы сможете объединить разные фотографии одной и той же сцены, чтобы создать широкоугольную фотографию с высоким разрешением.

Быстрая Навигация

  • Как объединить фотографии в Lightroom
    • Импорт фотографий в Lightroom
    • Создайте HDR-изображение
    • Создайте панорамное изображение
    • Сохраните объединенное изображение
  • Часто задаваемые вопросы
    • Почему Lightroom не может объединить фотографии в панораму?
    • Как мне снимать фотографии для сшивки панорамы?
  • Заключительные мысли

Как объединить фотографии в Lightroom

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

Это означает, что вы можете снимать несколько фотографий пейзажей или экстерьеров с обычным объективом. 50mm объектив а затем объединить их с помощью программное обеспечение для редактирования фотографий Например, Lightroom для создания панорамных фотографий, покрывающих весь внешний вид недвижимости.

Имея в виду, что вы будете объединять несколько фотографий, результирующее изображение, как правило, имеет более высокое разрешение и лишено искажений, чем один снимок со сверхширокоугольным объективом. В зависимости от версии Lightroom вы можете использовать следующие шаги для объединения фотографий. с помощью лайтрум встроенные функции.

Импорт фотографий в Lightroom

После захвата серии изображений, которые вы хотите объединить, подключите камеру к компьютеру или вставьте карту памяти в картридер и подключите его к компьютеру. Запустите Lightroom, перейдите в «Файл», а затем выберите «Импорт фотографий и видео», чтобы открыть диалоговое окно импорта.

Если вы сняли изображения в формате RAW, выберите параметр «Копировать как DNG», чтобы Lightroom мог скопировать изображения в нужное место на жестком диске и преобразовать их в формат цифрового негатива. Вы можете выбрать изображения из большого окна в центре интерфейса.

Чтобы избежать путаницы и сохранить чистоту рабочего процесса, рекомендуется импортировать только лучшие фотографии, которые вы хотите объединить. Нажмите на первое изображение, нажмите и удерживайте клавишу Ctrl на компьютере с Windows или Command на Mac, выберите другие изображения, которые вы хотите импортировать, выберите папку назначения и нажмите «Импорт».

Создайте HDR-изображение

Поскольку вы импортировали только изображения, которые хотите объединить, выберите их все, нажав клавиши клавиатуры Ctrl + A, если вы используете компьютер с Windows, или Command + A, если вы используете Mac. Перейдите к «Фото» в верхней строке меню, выберите «Объединение фотографий» и выберите «HDR».

Обычно появляется окно с предварительным просмотром вашего HDR слияние. Обратите внимание, что время, необходимое Lightroom для создания предварительного просмотра, будет зависеть от количества выбранных вами изображений и характеристик вашего компьютера. В зависимости от ваших изображений, вы можете настроить следующие параметры для более плавного и естественного смешивания.

Deghost

Камера часто трясется при съемке с рук, вызывая некоторые движения между кадрами. Обычно это создает некоторые артефакты и белые пятна при совмещении фотографий. Инструмент Deghosting помогает настроить эти объекты на изображении, чтобы предотвратить появление участков прозрачности в наложении.

В зависимости от объема движений вы можете установить для параметра Deghosting Amount значение High, Medium, Low или None. Однако, имея в виду, что ореол может быть не так легко виден, поскольку вы не можете масштабировать предварительный просмотр до увеличения 1: 1, вам нужно будет переключиться в модуль «Разработка» и увеличить изображение, чтобы проверить наличие ореолов.

Автоматическое выравнивание

Как следует из названия, опция автоматического выравнивания помогает выровнять изображения в случае смещения композиции при съемке. Как правило, это чаще встречается при использовании штатив настройки, и камера слегка наклоняется или поворачивается при нажатии кнопки спуска затвора.

Создать стек

Функция «Создать стек» — это скорее организационная функция, чем инструмент для работы с изображениями. Если вы установите этот флажок, Lightroom автоматически объединит исходные фотографии с созданным вами HDR. Обычно это устраняет беспорядок в вашем библиотечном модуле и делает ваш рабочий процесс более чистым.

Автоматический тон

Имея в виду, что вы будете объединять фотографии с разной экспозицией, есть вероятность, что разные цвета и тона не будут плавно смешиваться. Опция автоматического тона сообщает Lightroom, что нужно настроить вибрацию, насыщенность, черный, белые, тени, блики, контрастность и экспозицию, чтобы все плавно смешивалось.

Как правило, параметр автотона в функции создания HDR работает так же, как и автотон на основных панелях. Если вы новичок, рекомендуется установить только флажки автоматического тона и автоматического выравнивания, а остальные оставить.

Создайте панорамное изображение

Если вы хотите объединить изображения в перекрывающийся узор для создания панорамы, импортируйте фотографии и выберите их, выполнив описанные выше шаги. Однако вместо выбора HDR перейдите к «Фото», выберите «Объединение фотографий», а затем выберите «Панорама».

Кроме того, вы можете запустить инструмент слияния панорам, используя клавиши клавиатуры Command + M, если вы используете Mac, или Ctrl + M, если вы используете компьютер с Windows. Обычно это открывает окно предварительного просмотра со следующими параметрами проекции:

  • Перспективная проекция: Этот параметр проецирует панораму так, как если бы она отображалась на плоской поверхности, сохраняя прямые линии. Это делает его лучшим вариантом для сшивания фотографий недвижимости, поскольку он поддерживает общий дизайн объекта.
  • Цилиндрическая проекция:
    Эта опция проецирует панораму так, как она отображается на внутреннюю сторону цилиндра. Хотя эта проекция может сохранять прямые линии, вероятность деформации объекта выше, если панорама широкая.
  • Сферическая проекция: Этот параметр преобразует и выравнивает фотографии, как если бы они отображались внутри сферы. Это стандартная проекция Lightroom, которая хорошо работает с широкими панорамами, что делает ее идеальной для объединения широких пейзажных и наружных фотографий.
Автоматическая обрезка

Имея в виду, что все типы проекции предполагают растяжение фотографий, по краям кадра обычно образуются пустые пространства. Лучший способ устранить эти пустые места — включить функцию автоматической обрезки.

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

Граничная деформация

Функция деформации границ работает как альтернатива автоматической обрезке, растягивая все изображение, чтобы заполнить пустые места вместо обрезки. Однако эта функция является относительно новой, и вы будете ограничены функцией автоматической обрезки, если вы используя старую версию Lightroom.

Сохраните объединенное изображение

После укладка изображений, нажмите кнопку «Объединить», чтобы создать и сохранить фактическое HDR-изображение или панораму. После слияния и сохранения изображения Lightroom вернется к тому, с чего вы начали, будь то модуль «Библиотека» или модуль «Разработка».

Часто задаваемые вопросы

Почему Lightroom не может объединить фотографии в панораму?

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

Как мне снимать фотографии для сшивки панорамы?

Лучший способ снимать фотографии для сшивания панорамы — это использовать штатив чтобы свести к минимуму дрожание камеры. Установите камеру в панорамный режим, а затем переключитесь в ручной режим, чтобы вы могли лучший контроль скорости затвора, ISO и диафрагма.

Заключительные мысли

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

Как сделать коллаж на Айфоне

До того как в запрещенной в России социальной сети Инстаграм появилась возможность выкладывать посты с несколькими фотографиями, было модно объединять их в коллаж и размещать. Зачастую читаемость таких снимков была на достаточно низком уровне, но зато можно было показать одним махом несколько изображений своим подписчикам. Однако возможность склеить фотографии может принести и определенную пользу. Если надо сравнить две картинки, то объединение — это самый лучший вариант в такой ситуации.

Объединение фото иногда необходимо для удобства просмотра.

❗️ПОДПИСЫВАЙСЯ НА НАШ КАНАЛ В ЯНДЕКС.ДЗЕНЕ И ЧИТАЙ ЭКСКЛЮЗИВНЫЕ СТАТЬИ БЕСПЛАТНО

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

Содержание

  • 1 Склеить фото онлайн
  • 2 Коллаж в Инстаграме
  • 3 Коллаж на телефоне
  • 4 Сделать коллаж из фото

Склеить фото онлайн

Первый и самый доступный вариант, который не требует установки отдельного софта, — это онлайн сервисы. С учетом того, что по работе мне достаточно часто приходится объединять изображения, скриншоты и фотографии, я остановился именно на таком варианте. Чтобы им воспользоваться, сделайте следующее:

  • Перейдите на сайт FilesMerge.com.
  • Пролистайте немного вниз и с помощью кнопки «Выберите файл с компьютера» добавьте интересующие вас изображения.
  • Дождитесь их загрузки на сервис и пролистайте еще немного вниз.
  • Выберите способ объединения: вертикально, горизонтально или колонками.
  • Нажмите кнопку «Объединить» и загрузите полученный файл.

Нельзя назвать этот вариант в чистом виде способом создания коллажей. Он просто объединяет фотографии в один файл. Но зачастую именно это многим пользователям и надо. Поэтому, если вы не ищите никакой дополнительной функциональности, советую этот способ. Работает очень быстро и качественно. За несколько месяцев активного взаимодействия с ним ни разу не было никаких проблем.

Коллаж в Инстаграме

Layout позволяет создавать квадратные коллажи.

Если вам необходимо создать коллаж для размещения в том же Инстаграме, то лучше всего воспользоваться для этого специальным приложением, разработанным самим Инстаграмом. Называется оно «Layout» и доступно в App Store бесплатно. Оно достаточно просто в использовании и не требует никаких дополнительных навыков.

  • Загрузите приложение Layout из App Store и запустите его.
  • Предоставьте программе доступ ко всем фотографиям.
  • Отметьте галочками нужные для объединения снимки.
  • В верхней части приложения выберите нужный макет и нажмите на него.
  • Установите интересующие вас настройки и нажмите кнопку «Сохранить» в правом верхнем углу.
  • Если вы хотите сразу выложить результат в Инстаграм, то нажмите соответствующую кнопку.
  • Если хотите просто сохранить полученное изображение, то нажмите кнопку «Еще» и выберите «Сохранить в Файлы».

После этого вы сможете найти полученный коллаж в файлах на смартфоне. Сохранить напрямую в галерею объединенную картинку, к сожалению, не получится. Поэтому приходится в качестве перевалочного приложения задействовать «Файлы». Из минусов программы можно отметить то, что итоговый результат всегда имеет соотношение сторон 1:1. Квадрат подходит не под все ситуации.

Коллаж на телефоне

MixGram имеет большое количество разных настроек. Но некоторые доступны только по подписке.

Но возможностей Layout может быть мало некоторым пользователям. В такой ситуации следует обратиться к приложению MixGram. Сама программа и часть ее функциональности бесплатны, но отдельные возможности придется разблокировать за деньги с использованием встроенных покупок. В MixGram есть огромное количество различных шаблонов для составления коллажей. Доступны как варианты с прямыми сторонами, прямоугольники и квадраты с разным соотношением сторон, так и различные необычные по форме сочетания, например, в виде пазла.

❗️ПОДПИСЫВАЙСЯ НА ТЕЛЕГРАМ-КАНАЛ СУНДУК АЛИБАБЫ. ТАМ КАЖДЫЙ ДЕНЬ ВЫХОДЯТ ПОДБОРКИ САМЫХ ЛУЧШИХ ТОВАРОВ С АЛИЭКСПРЕСС

Но самой интересной возможностью можно назвать выбор соотношения сторон итогового изображения. То есть вы не будете ограничены, как в Layout, картинкой квадратной формы. Можно выбрать и 16:9, и даже 9:16. То есть крутить так, как удобно. Для создания коллажа в MixGram нужно сделать следующее:

  • Загрузите приложение MixGram из App Store и зайдите в него.
  • Если вы не планируете оформлять подписку на доступ ко всем функциям, то выберите любой из доступных шаблонов, который не отмечен короной.
  • Нажатием на каждую часть коллажа добавьте интересующие вас изображения.
  • Отдельно настройте размер итогового изображения, добавьте текст и при необходимости эмодзи.
  • Нажмите кнопку «Сохранить» в правом верхнем углу.
  • В появившемся окне выберите «Сохранить изображение».
  • Программа запросит доступ к приложению «Фото», который необходимо предоставить.

После этих действий готовый коллаж появится в приложении «Фото». Вы сможете поделиться им любым удобным способом, и не придется устраивать танцы с бубном, чтобы его туда сохранить. Благо MixGram, в отличие от Layout, это поддерживает.

Сделать коллаж из фото

Приложение «Коллаж» позволяет бесплатно настроить значительно больше, чем все предыдущие.

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

  • Загрузите приложение «Коллаж» из App Store и зайдите в него.
  • При открытии приложения вы сразу видите стандартный макет из двух вертикальных фотографий.
  • Нажмите на значок в верхнем левом углу для загрузки выбора фотографий и отметьте нужные изображения.
  • Настройте размер итогового коллажа, макет, задайте фон и толщину рамок.
  • В нижнем левом углу нажмите на кнопку сохранить, просмотрите рекламу, и коллаж появится в вашей медиатеке.

❗️ПОДПИШИСЬ НА НАШ ЧАТИК В ТЕЛЕГРАМЕ. ТАМ СОБРАЛИСЬ ТОЛЬКО ИЗБРАННЫЕ ЧИТАТЕЛИ

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

Смартфоны AppleФото на iPhoneФоторедакторы

Объединение нескольких изображений по горизонтали с помощью Python

Задавать вопрос

спросил

Изменено 5 месяцев назад

Просмотрено 274 тыс. раз

Я пытаюсь объединить несколько изображений JPEG по горизонтали в Python.

Проблема

У меня есть 3 изображения — каждое 148 x 95 — см. вложение. Я только что сделал 3 копии одного и того же изображения, поэтому они одинаковы.

Моя попытка

Я пытаюсь соединить их по горизонтали, используя следующий код:

 import sys
из изображения импорта PIL
list_im = ['Test1. jpg','Test2.jpg','Test3.jpg']
# создает новое пустое изображение, режим RGB и размер 444 на 95
new_im = Image.new('RGB', (444,95))
для элемента в list_im:
    для i в xrange (0,444,95):
        im=Image.open(элемент)
        new_im.paste(им, (я,0))
new_im.save('test.jpg')
 

Однако это приводит к выводу, прикрепленному как test.jpg .

Вопрос

Есть ли способ соединить эти изображения по горизонтали так, чтобы суб-изображения в test.jpg не отображали дополнительное частичное изображение?

Дополнительная информация

Я ищу способ горизонтального объединения n изображений. Я хотел бы использовать этот код в целом, поэтому я бы предпочел:

  • не указывать размеры изображения жестко, если возможно
  • укажите размеры одной строкой, чтобы их можно было легко изменить
  • python
  • python-3.x
  • библиотека изображений python
  • python-2.x
  • паста

6

Вы можете сделать что-то вроде этого:

 import sys
из изображения импорта PIL
images = [Image. open(x) для x в ['Test1.jpg', 'Test2.jpg', 'Test3.jpg']]
ширина, высота = zip(*(i.size для i на изображениях))
общая_ширина = сумма (ширина)
max_height = макс (высота)
new_im = Image.new('RGB', (общая_ширина, максимальная_высота))
х_смещение = 0
для меня в изображениях:
  new_im.paste(им, (x_offset,0))
  x_offset += im.size[0]
new_im.save('test.jpg')
 

Test1.jpg

Test2.jpg

Test3.jpg

9

3 28


Вложенный для для i в xrange(0,444, 95): вставляет каждое изображение 5 раз с шагом 95 пикселей. Каждая итерация внешнего цикла вставляется поверх предыдущей.

 для элемента в list_im:
  для я в xrange (0,444,95):
    im=Image.open(элемент)
    new_im.paste(им, (я,0))
  new_im.save('new_' + элемент + '.jpg')
 

7

Я бы попробовал это:

 импортировать numpy как np
импорт PIL
из изображения импорта PIL
list_im = ['Test1. jpg', 'Test2.jpg', 'Test3.jpg']
imgs = [Image.open(i) для i в list_im]
# выберите изображение, которое является самым маленьким, и измените размер остальных, чтобы они соответствовали ему (здесь может быть произвольная форма изображения)
min_shape = sorted( [(np.sum(i.size), i.size ) для i в imgs])[0][1]
imgs_comb = np.hstack([i.resize(min_shape) для i в imgs])
# сохранить эту красивую картинку
imgs_comb = Изображение.из массива (imgs_comb)
imgs_comb.save('Trifecta.jpg')
# для вертикальной укладки все просто: используйте vstack
imgs_comb = np.vstack([i.resize(min_shape) для i в imgs])
imgs_comb = Изображение.из массива (imgs_comb)
imgs_comb.save('Trifecta_vertical.jpg')
 

Это должно работать до тех пор, пока все изображения относятся к одному типу (все RGB, все RGBA или все оттенки серого). Нетрудно убедиться в этом, добавив еще несколько строк кода. Вот мои примеры изображений и результат:

5

Редактировать: ответ DTing более применим к вашему вопросу, поскольку он использует PIL, но я оставлю это на случай, если вы захотите узнать, как это сделать в numpy.

Вот решение numpy/matplotlib, которое должно работать для N изображений (только цветных изображений) любого размера/формы.

 импортировать numpy как np
импортировать matplotlib.pyplot как plt
определение concat_images (imga, imgb):
    """
    Объединяет два цветных изображения ndarray рядом друг с другом.
    """
    ха, ва = imga.shape[:2]
    hb,wb = imgb.shape[:2]
    max_height = np.max([га, хб])
    общая_ширина = wa+wb
    new_img = np.zeros (форма = (max_height, total_width, 3))
    new_img[:ha,:wa]=imga
    new_img[:hb,wa:wa+wb]=imgb
    вернуть new_img
определение concat_n_images (image_path_list):
    """
    Объединяет N цветных изображений из списка путей к изображениям.
    """
    вывод = нет
    для i img_path в перечислении (image_path_list):
        img = plt.imread(img_path)[:,:,:3]
        если я==0:
            вывод = изображение
        еще:
            вывод = concat_images (выход, изображение)
    возвратный вывод
 

Вот пример использования:

 >>> images = ["ronda.
jpeg", "rhod.jpeg", "ronda.jpeg", "rhod.jpeg"] >>> вывод = concat_n_images(изображения) >>> импортировать matplotlib.pyplot как plt >>> plt.imshow(выход) >>> plt.show()

2

Вот функция, обобщающая предыдущие подходы, создающая сетку изображений в PIL:

 из PIL import Image
импортировать numpy как np
def pil_grid (изображения, max_horiz = np.iinfo (int). max):
    n_images = длина (изображения)
    n_horiz = мин (n_изображений, макс_гориз)
    h_sizes, v_size = [0] * n_horiz, [0] * (n_images // n_horiz)
    для i, im в перечислении (изображения):
        h, v = i % n_horiz, i // n_horiz
        h_size[h] = max(h_size[h], im.size[0])
        v_size[v] = max(v_size[v], im.size[1])
    h_sizes, v_sizes = np.cumsum([0] + h_sizes), np.cumsum([0] + v_sizes)
    im_grid = Image.new('RGB', (h_sizes[-1], v_sizes[-1]), color='white')
    для i, im в перечислении (изображения):
        im_grid.paste(im, (h_sizes[i % n_horiz], v_sizes[i // n_horiz]))
    вернуть im_grid
 

Уменьшит каждую строку и столбец сетки до минимума. Вы можете иметь только строку, используя pil_grid(images), или только столбец, используя pil_grid(images, 1).

Одним из преимуществ использования PIL по сравнению с решениями на основе массива numpy является то, что вы можете работать с изображениями, структурированными по-разному (например, изображениями в градациях серого или на основе палитр).

Пример выходных данных

 def dummy(w, h):
    «Создает фиктивное изображение PIL заданных размеров»
    из PIL импортировать ImageDraw
    im = Image.new('RGB', (w, h), color=tuple((np.random.rand(3) * 255).astype(np.uint8)))
    рисовать = ImageDraw.Draw(им)
    точки = [(i, j) для i в (0, im.size [0]) для j в (0, im.size [1])]
    для я в диапазоне (len (точки) - 1):
        для j в диапазоне (i + 1, len (точки)):
            draw.line (точки [i] + точки [j], fill = 'черный', ширина = 2)
    верни меня
dummy_images = [dummy (20 + np.random.randint (30), 20 + np.random.randint (30)) для _ в диапазоне (10)]
 

pil_grid(dummy_images) :

pil_grid(dummy_images, 3) :

pil_grid(d 1 8 pil_images,

1

На основе ответа DTing я создал более простую в использовании функцию:

 из PIL import Image
def append_images (изображения, направление = 'горизонтальное',
                  bg_color=(255 255 255), выравнивание='центр'):
    """
    Добавляет изображения в горизонтальном/вертикальном направлении. 
    Аргументы:
        images: список изображений PIL.
        направление: направление конкатенации, «горизонтальное» или «вертикальное»
        bg_color: цвет фона (по умолчанию: белый)
        alignment: режим выравнивания, если изображения нуждаются в дополнении;
           «слева», «справа», «сверху», «снизу» или «по центру»
    Возвращает:
        Объединенное изображение как новый объект изображения PIL.
    """
    ширина, высота = zip(*(i.size для i на изображениях))
    если направление == 'горизонтальное':
        new_width = сумма (ширина)
        new_height = макс (высота)
    еще:
        new_width = макс (ширина)
        new_height = сумма (высота)
    new_im = Image.new('RGB', (new_width, new_height), color=bg_color)
    смещение = 0
    для меня в изображениях:
        если направление == 'горизонтальное':
            у = 0
            если выравнивание == 'центр':
                y = int((new_height - im.size[1])/2)
            выравнивание Элиф == 'внизу':
                y = новая_высота - im.
size[1] new_im.paste(im, (смещение, y)) смещение += im.size[0] еще: х = 0 если выравнивание == 'центр': x = int((new_width - im.size[0])/2) выравнивание Элиф == 'правильно': x = новая_ширина - im.size[0] new_im.paste(im, (x, смещение)) смещение += im.size[1] вернуть new_im

Позволяет выбрать цвет фона и выравнивание изображения. Также легко сделать рекурсию:

 изображений = карта (Image.open, ['hummingbird.jpg', 'tiger.jpg', 'monarch.png'])
combo_1 = append_images (изображения, направление = 'горизонтальное')
combo_2 = append_images(изображения, direction='горизонтально', alignment='top',
                        bg_color=(220, 140, 60))
combo_3 = append_images([combo_1, combo_2], direction='vertical')
combo_3.save('combo_3.png')
 

1

Если высота всех изображений одинакова,

 импортировать numpy как np
imgs = ['a. jpg', 'b.jp', 'c.jpg']
конкатенированный = Image.fromarray(
  np.concatenate (
    [np.array(Image.open(x)) для x в imgs],
    ось=1
  )
)
 

Возможно, вы можете изменить размер изображений перед конкатенацией, как это,

 импортировать numpy как np
imgs = ['a.jpg', 'b.jpg', 'c.jpg']
конкатенированный = Image.fromarray(
  np.concatenate (
    [np.array(Image.open(x).resize((640,480)) для x в imgs],
    ось=1
  )
)
 

1

Вот мое решение:

 из изображения импорта PIL
def join_images(*rows, bg_color=(0, 0, 0, 0), выравнивание=(0,5, 0,5)):
    строки = [
        [image.convert('RGBA') для изображения в строке]
        для ряда
        рядами
    ]
    высоты = [
        max(image.height для изображения в строке)
        для ряда
        рядами
    ]
    ширина = [
        max (image.width для изображения в столбце)
        для колонки
        в почтовом индексе (* строк)
    ]
    tmp = Image. new(
        'РГБА',
        размер = (сумма (ширина), сумма (высота)),
        цвет = bg_color
    )
    для i, строка в перечислении (строки):
        для j изображение в перечислении (строка):
            y = сумма (высоты [: i]) + int ((высоты [i] - image.height) * выравнивание [1])
            x = сумма (ширины [: j]) + int ((ширины [j] - image.width) * выравнивание [0])
            tmp.paste (изображение, (х, у))
    вернуть временную температуру
def join_images_horizontally (* строка, bg_color = (0, 0, 0), выравнивание = (0,5, 0,5)):
    вернуть join_images(
        ряд,
        bg_color=bg_color,
        выравнивание = выравнивание
    )
def join_images_vertically (* столбец, bg_color = (0, 0, 0), выравнивание = (0,5, 0,5)):
    вернуть join_images(
        *[[image] для изображения в столбце],
        bg_color=bg_color,
        выравнивание = выравнивание
    )
 

Для этих изображений:

 изображения = [
    [Изображение.open('банан.png'), Image.open('яблоко.png')],
    [Image. open('лайм.png'), Image.open('лимон.png')],
]
 

Результаты будут выглядеть так:


 join_images(
    *изображений,
    bg_color = 'зеленый',
    выравнивание=(0,5, 0,5)
).показывать()
 


    *изображений,
    bg_color = 'зеленый',
    выравнивание = (0, 0)
).показывать()
 


    *изображений,
    bg_color = 'зеленый',
    выравнивание=(1, 1)
).показывать()
 

Существует также skimage.util.montage для создания монтажа изображений одинаковой формы:

 import numpy as np
импорт PIL
из изображения импорта PIL
из skimage.util импортировать монтаж
list_im = ['Test1.jpg', 'Test2.jpg', 'Test3.jpg']
imgs = [np.array(Image.open(i)) для i в list_im]
монтаж (изображения)
 
 """
merge_image принимает три параметра, первые два параметра определяют
два изображения, которые нужно объединить, и третий параметр, т.е. по вертикали
это логический тип, который, если True, объединяет изображения по вертикали
и, наконец, сохраняет и возвращает имя_файла
"""
def merge_image (img1, img2, по вертикали):
    изображения = список (карта (Image. open, [img1, img2]))
    ширина, высота = zip(*(i.size для i на изображениях))
    если вертикально:
        max_width = макс (ширина)
        total_height = сумма (высота)
        new_im = Image.new('RGB', (max_width, total_height))
        у_смещение = 0
        для меня в изображениях:
            new_im.paste(im, (0, y_offset))
            y_offset += im.size[1]
    еще:
        общая_ширина = сумма (ширина)
        max_height = макс (высота)
        new_im = Image.new('RGB', (общая_ширина, максимальная_высота))
        х_смещение = 0
        для меня в изображениях:
            new_im.paste(им, (x_offset, 0))
            x_offset += im.size[0]
    new_im.save('test.jpg')
    вернуть 'test.jpg'
 
 из __future__ import print_function
импорт ОС
из импорта пил Изображение
файлы = [
      '1.png',
      '2.png',
      '3.png',
      '4.png']
результат = Изображение.новый("RGB", (800, 800))
для индекса, файл в перечислении (файлы):
путь = os.path.expanduser(файл)
img = Image.open(путь)
img. thumbnail((400, 400), Image.ANTIALIAS)
х = индекс // 2 * 400
у = индекс % 2 * 400
ш, ч = размер изображения
result.paste(img, (x, y, x + w, y + h))
результат.сохранить(os.path.expanduser('output.jpg'))
 

Выход

Просто добавление к уже предложенным решениям. Предполагается та же высота, без изменения размера.

 система импорта
импортировать глобус
из изображения импорта PIL
Image.MAX_IMAGE_PIXELS = 100000000 # Ошибка изображения PIL при обработке очень больших изображений
imgs = [Image.open(i) для i в list_im]
ширина, высота = почтовый индекс (* (i.size для i в imgs))
общая_ширина = сумма (ширина)
max_height = макс (высота)
new_im = Image.new('RGB', (общая_ширина, максимальная_высота))
# Разместите первое изображение
new_im.paste(imgs[0],(0,0))
# Итеративно добавлять изображения в список по горизонтали
смещение = 0
для i в диапазоне (1, len (imgs), 1):
    **hoffset=imgs[i-1].size[0]+hoffset # обновить смещение**
    new_im.paste(imgs[i],**(hoffset,0)**)
new_im. save('output_horizontal_montage.jpg')
 

мое решение было бы:

 import sys
импорт ОС
из импорта PIL Image, ImageFilter
из PIL импортировать ImageFont
из PIL импортировать ImageDraw
os.chdir('C:/Users/Sidik/Desktop/setup')
печать (os.getcwd())
image_list=['IMG_7292.jpg','IMG_7293.jpg','IMG_7294.jpg', 'IMG_7295.jpg' ]
image = [Image.open(x) для x в image_list] # список
im_1 = изображение[0].поворот(270)
im_2 = изображение[1].поворот(270)
im_3 = изображение[2].поворот(270)
#im_4 = изображение[3].поворот(270)
высота = изображение [0]. размер [0]
ширина = изображение [0]. размер [1]
# Создаем пустую белую рамку изображения
new_im = Image.new('RGB', (высота * 2, ширина * 2), (255 255 255))
new_im.paste (im_1, (0,0))
new_im.paste (im_2, (высота, 0))
new_im.paste(im_3,(0,ширина))
new_im.paste(im_4,(высота,ширина))
рисовать = ImageDraw.Draw(new_im)
шрифт = ImageFont.truetype('arial',200)
draw.text((0, 0), '(a)', fill='white', font=font)
draw.text((высота, 0), '(b)', fill='white', font=font)
draw. text((0, ширина), '(c)', fill='white', font=font)
#draw.text((высота, ширина), '(d)', fill='white', font=font)
new_im.show()
new_im.save('BS1319.pdf')
[![Лазерные пятна на краю][1]][1]
 
 #**Как объединить обрезанные изображения с исходным изображением**
    images = [Image.open(x) для x в images_list]
    print("Длина::", len(изображения))
    ширина, высота = zip(*(i.size для i на изображениях))
    печать (ширина, высота)
    общая_ширина = сумма (ширина)
    max_height = сумма (высота)
    печать (общая_ширина, максимальная_высота)
    
    new_im = Image.new('RGB', (5*384, 5*216))
    
    х_смещение = 0
    у_смещение = 0
    
    img_size = [384 216]
    def сгруппировано (итерируемый, n):
        вернуть zip(*[iter(iterable)]*n)
    
    для x, y, a, b, c в группе (изображения, 5):
        темп = []
        temp.append([x,y,a,b,c])
        печать (темп [0])
        печать (длина (темп [0]))
        для lsingle_img в temp[0]:
            # печать (lsingle_img)
            print("x_y_offset: ", (x_offset, y_offset))
            new_im. paste(lsingle_img, (x_offset, y_offset))
            x_offset += img_size[0]
        темп = []
        х_смещение = 0
        y_offset += img_size[1]
    new_im.save('test.jpg')
 

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Как смешать два изображения в GIMP (Краткое пошаговое руководство)

Для таких проектов GIMP идеально подходит! Объединив элементы двух или более разных изображений в одно, вы можете создать что угодно, от коллажа из праздничных снимков до фотореалистичного пейзажа мечты — все зависит только от вас и вашего творческого видения.

Быстрая навигация

  • Краткое руководство по смешиванию двух изображений
  • Подробное руководство по смешиванию двух изображений в GIMP
    • Шаг 1. Подготовка изображения
    • Шаг 2. Маскирование слоя
    • Шаг 3. Немного полировки 90 42
    • Получение наилучших сочетаний изображений
    • Расширенное смешивание изображений

    Краткое руководство по смешиванию двух изображений 

    Основной процесс смешивания двух изображений в GIMP довольно прост:

    • Шаг 1: Создайте новый файл изображения или откройте фоновое изображение в GIMP.
    • Шаг 2: Используйте команду Открыть как слои в меню Файл , чтобы открыть второе изображение.
    • Шаг 3: Добавьте маску слоя к новому слою с изображением и замаскируйте все нежелательные участки.
    • Шаг 4: Используйте фильтры, чтобы настроить новый слой изображения так, чтобы он соответствовал слою фонового изображения, если это необходимо.

    Если вы хотите добавить еще больше изображений, вы можете просто повторять шаги 2-4, пока не закончите! Для тех из вас, кто плохо знаком с GIMP и не знаком с процессом использования масок слоя, я предоставлю более подробное руководство ниже, а также несколько советов по созданию наилучших возможных переходов и некоторые идеи для продвинутых процессов смешивания изображений.

    Подробное руководство по смешиванию двух изображений в GIMP

    Это руководство позволит вам смешивать любые изображения вместе и может повторяться столько раз, сколько вы хотите, хотя, если вы добавите слишком много изображений вместе, вы можете начать раздвигать границы что ваш компьютер может обрабатывать!

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

    Шаг 1: Подготовка изображения

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

    Затем откройте меню Файл и выберите Открыть как слои . Выберите второе изображение в файловом браузере и нажмите Открыть . Вместо того, чтобы открывать его как отдельное изображение, GIMP создаст новый слой на панели «Слои», используя содержимое изображения.

    Если вы не можете выбрать, какое изображение использовать в качестве фона, потому что ни одно из них не подходит, вы можете создать новое пустое изображение в GIMP и открыть оба изображения с помощью команды Открыть как слои .

    Шаг 2: Маскирование слоя

    На данный момент одно изображение накладывается на другое, но оно будет иметь стандартные прямоугольные границы изображения (если вы не используете прозрачный PNG или GIF). Мне нужно скрыть нежелательные области фона неба на фотографии ястреба, чтобы он выглядел более естественно на фоне грозового неба.

    Вы можете просто стереть фон с помощью инструмента «Ластик», но если вы сделаете какие-либо ошибки или передумаете отредактировать позже, вам придется начинать все сначала.

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

    Маска слоя — это вторичный слой изображения, который определяет, какие части слоя видны, а какие скрыты с помощью простых оттенков серого.

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

    Я добавлю маску слоя к изображению ястреба, открыв меню Layer , выбрав подменю Mask и выбрав Add Layer Mask .

    Вы также можете щелкнуть правой кнопкой мыши имя слоя на панели «Слои» и выбрать Добавьте маску слоя из всплывающего меню или выберите имя слоя и щелкните маленький значок маски в нижней части панели Слои .

    GIMP откроет диалоговое окно «Добавить маску слоя» с несколькими простыми параметрами. В этом случае я собираюсь установить Initialize Layer Mask to: опция на White (полная непрозрачность). Это заполнит мою маску слоя белыми пикселями, так что пока весь слой останется видимым.

    Параметры диалогового окна «Добавить маску слоя» в GIMP 2.10

    Нажмите Добавить , и маска слоя будет добавлена ​​к текущему выбранному слою. На панели Layers появится новая миниатюра, показывающая нашу новую маску слоя, заполненную белыми пикселями.

    В данный момент это немного трудно разглядеть, но вокруг маски слоя также есть белый контур, указывающий, что он в данный момент активен. Любые изменения, которые мы делаем сейчас, изменят маску слоя, а не основной пиксельный слой.

    На слое 9 Hawk In Flight появилась новая миниатюра, показывающая маску слоя.0141

    Переключитесь на кисть с помощью панели инструментов или сочетания клавиш P и установите цвета переднего плана и фона на черный и белый по умолчанию, нажав D .

    Вы можете быстро переключать цвета переднего плана и фона с помощью клавиши X , что позволит вам быстро и естественно очертить объект вторичного изображения.

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

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

    С замаскированным фоном ястреб теперь летит против бури!

    Если вы хотите снова отредактировать основной пиксельный слой, щелкните другую миниатюру на панели Слои . Если вы хотите вернуться к маске, вместо этого щелкните ее миниатюру.

    Шаг 3: Немного полировки

    После того, как вы закончите маскирование, сделайте шаг назад (немного уменьшите масштаб!) и по-новому взгляните на свое изображение. Похоже ли это на естественное смешение двух изображений? Что выделяется?

    В моем примере мне нужно изменить цвет ястреба, чтобы он выглядел немного более естественно на новом фоне, но вашему изображению может понадобиться что-то еще.

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

    Конечно, вы можете не утруждать себя созданием реалистичных переходов — вы можете использовать эту технику для создания коллажей любых изображений.

    Получение наилучших сочетаний изображений

    Если вы хотите создать фотореалистичное смешение нескольких изображений, есть несколько советов, которые существенно облегчат ваш рабочий процесс.

    Тщательно выбирайте исходные изображения. Различия в цветовом балансе, освещении и перспективе наиболее заметны при объединении двух изображений. Чем ближе эти факторы между двумя вашими исходными изображениями, тем более реалистичным будет выглядеть ваше окончательное сочетание.

    Сначала не торопитесь с масками. Инструменты автоматического выделения иногда могут дать вам преимущество при маскировании, но ничто и никогда не даст лучшего результата, чем тщательное маскирование сложных краев вручную.

    Изучите инструменты кисти и привыкните к работе с сочетаниями клавиш, чтобы значительно улучшить качество и эффективность маскирования.

    Привыкайте к работе со слоями. По мере того, как вы расширяете свой набор навыков, вы, вероятно, будете комбинировать довольно много слоев. Освоение параметров слоев, режимов наложения и групп слоев облегчит работу с большим количеством слоев в одном изображении.

    Advanced Image Blending

    Если вы хотите получить технические знания о смешивании изображений в GIMP, есть множество творческих проектов, которые вы можете попробовать: композитинг HDR, наложение фокуса, интервальная съемка и другие оптические иллюзии — все они зависят от объединения нескольких элементов изображения.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *