Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как вставить картинку в картинку питон?

  1. Как вставить картинку в картинку питон?

    Привет всем! Столкнулся с задачей: нужно вставить одну картинку в другую с помощью Python. Какие есть библиотеки для этого? Кстати, интересует именно программный способ, а не через графические редакторы. Если есть пример кода, буду благодарен. Спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Для этого идеально подходит библиотека Pillow. Вот пример кода:

    Программный код:
    from PIL import Image
      
    # Открываем основную картинку
    base_image Image.open('base_image.jpg')
      
    # Открываем картинку для вставки
    insert_image Image.open('insert_image.png')
      
    # Позиция, куда будем вставлять картинку
    position = (5050)
      
    # Вставка картинки
    base_image.paste(insert_imagepositioninsert_image)
      
    # Сохранение результата
    base_image.save('result_image.jpg'
    В этом примере основная картинка - 'base_image.jpg', а картинка для вставки - 'insert_image.png'. Позиция вставки (50, 50) - это координаты верхнего левого угла.

  4. Цитата Сообщение от Natalya-V
    Привет! Для этого идеально подходит библиотека Pillow. Вот пример кода:

    Программный код:
    from PIL import Image
      
    # Открываем основную картинку
    base_image Image.open('base_image.jpg')
      
    # Открываем картинку для вставки
    insert_image Image.open('insert_image.png')
      
    # Позиция, куда будем вставлять картинку
    position = (5050)
      
    # Вставка картинки
    base_image.paste(insert_imagepositioninsert_image)
      
    # Сохранение результата
    base_image.save('result_image.jpg'
    В этом примере основная картинка - 'base_image.jpg', а картинка для вставки - 'insert_image.png'. Позиция вставки (50, 50) - это координаты верхнего левого угла.
    Вау, это круто! Даже не знал, что Pillow так просто решает эту задачу. Спасибо за пример кода.

  5. Ты можешь использовать OpenCV для таких задач. Это мощный инструмент для работы с изображениями.

    Программный код:
    import cv2
    import numpy 
    as np
      
    # Загрузка изображений
    base_image cv2.imread('base_image.jpg')
    insert_image cv2.imread('insert_image.png', -1)
      
    # Указание позиции
    x5050
      
    # Определение размеров вставляемого изображения
    hinsert_image.shape[0], insert_image.shape[1]
      
    # Создание маски
    mask insert_image[:, :, 3]
    mask_inv cv2.bitwise_not(mask)
    insert_image insert_image[:, :, 0:3]
      
    # Область интереса
    roi base_image[y:y+hx:x+w]
      
    # Черная маска для области интереса
    img1_bg cv2.bitwise_and(roiroimask mask_inv)
      
    # Извлечение только вставляемой области изображения
    img2_fg cv2.bitwise_and(insert_imageinsert_imagemask mask)
      
    # Накладывание изображений
    dst cv2.add(img1_bgimg2_fg)
    base_image[y:y+hx:x+w] = dst
      
    # Сохранение конечного изображения
    cv2.imwrite('result_image.jpg'base_image

  6. Цитата Сообщение от IvanWarrior
    Ты можешь использовать OpenCV для таких задач. Это мощный инструмент для работы с изображениями.

    Программный код:
    import cv2
    import numpy 
    as np
      
    # Загрузка изображений
    base_image cv2.imread('base_image.jpg')
    insert_image cv2.imread('insert_image.png', -1)
      
    # Указание позиции
    x5050
      
    # Определение размеров вставляемого изображения
    hinsert_image.shape[0], insert_image.shape[1]
      
    # Создание маски
    mask insert_image[:, :, 3]
    mask_inv cv2.bitwise_not(mask)
    insert_image insert_image[:, :, 0:3]
      
    # Область интереса
    roi base_image[y:y+hx:x+w]
      
    # Черная маска для области интереса
    img1_bg cv2.bitwise_and(roiroimask mask_inv)
      
    # Извлечение только вставляемой области изображения
    img2_fg cv2.bitwise_and(insert_imageinsert_imagemask mask)
      
    # Накладывание изображений
    dst cv2.add(img1_bgimg2_fg)
    base_image[y:y+hx:x+w] = dst
      
    # Сохранение конечного изображения
    cv2.imwrite('result_image.jpg'base_image
    Крутая идея использовать OpenCV. Он мощнее, чем Pillow, и больше возможностей для сложных изображений.

  7. Ещё можно использовать библиотеку numpy, если нужно больше контроля за пикселями. Но это посложнее немного.

  8. Цитата Сообщение от OlegExplorer
    Ещё можно использовать библиотеку numpy, если нужно больше контроля за пикселями. Но это посложнее немного.
    Ну да, numpy это для продвинутых. Но профессор, явно проще начать с Pillow.

  9. Я ещё делал такие вещи с помощью библиотеки matplotlib, но это больше для графиков, конечно.

  10. Цитата Сообщение от NanoRanger
    Я ещё делал такие вещи с помощью библиотеки matplotlib, но это больше для графиков, конечно.
    Да, matplotlib умеет. Но лучше тогда уже использовать что-то специализированное, типа Pillow или OpenCV.

Страница 1 из 2 12 ПоследняяПоследняя