🎨 Как Π·Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠ΅ эффСкты

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OpenCV. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π·Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ изобраТСния:

    import cv2

    # Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° изобраТСния
    image = cv2.imread("имя_Ρ„Π°ΠΉΠ»Π°.jpg")

    # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π»ΠΈΡ‚ΠΎΠ³ΠΎ Ρ„ΠΎΠ½Π°
    height, width, _ = image.shape
    filled_background = cv2.rectangle(image, (0, 0), (width, height), (0, 255, 0), -1)

    # Показ ΠΈ сохранСниС изобраТСния с Π·Π°Π»ΠΈΡ‚Ρ‹ΠΌ Ρ„ΠΎΠ½ΠΎΠΌ
    cv2.imshow("Π—Π°Π»ΠΈΡ‚Ρ‹ΠΉ Ρ„ΠΎΠ½", filled_background)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
  
Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ `cv2.rectangle` для создания ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт Π·Π°Π»ΠΈΡ‚Ρ‹ΠΉ Ρ„ΠΎΠ½. ΠœΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»ΠΎΠ² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Ρ†Π²Π΅Ρ‚ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π·Π΅Π»Π΅Π½Ρ‹ΠΉ `(0, 255, 0)`) ΠΈ `-1` для заполнСния всСго ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ `"имя_Ρ„Π°ΠΉΠ»Π°.jpg"` Π½Π° ΠΏΡƒΡ‚ΡŒ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ собствСнному ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° для заполнСния Ρ„ΠΎΠ½Π°, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ позволяСт Π²Π°ΠΌ Π·Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ изобраТСния Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenCV. Π£Π΄Π°Ρ‡ΠΈ!

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π·Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Π² Python

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ сущСствуСт мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов добавлСния ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ Ρ„ΠΎΠ½Π° Π½Π° изобраТСниях. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ с использованиСм языка программирования Python.

Установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PIL

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python Imaging Library (PIL). Если ΠΎΠ½Π° отсутствуСт, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

pip install pillow

ПослС установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PIL ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ созданию скрипта Python для Π·Π°ΠΌΠ΅Π½Ρ‹ Ρ„ΠΎΠ½Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΠ°ΠΊ Π·Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ:

from PIL import Image

def replace_background(image_path, new_background_path, output_path):
    # ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ исходноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
    image = Image.open(image_path)
    
    # ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
    background = Image.open(new_background_path)
    
    # МСняСм Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния
    background = background.resize(image.size)
    
    # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
    new_image = Image.new("RGB", image.size)
    
    # Π—Π°Π»ΠΈΠ²Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ
    new_image.paste(background, (0, 0))
    
    # НакладываСм исходноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
    new_image.paste(image, (0, 0), image)
    
    # БохраняСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
    new_image.save(output_path)

replace_background("исходноС_ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.jpg", "Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅_ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.jpg", "Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.jpg")

Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ PIL для открытия исходного изобраТСния ΠΈ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния. Он Ρ‚Π°ΠΊΠΆΠ΅ измСняСт Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния для сопоставлСния с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ исходного изобраТСния. Π—Π°Ρ‚Π΅ΠΌ создаСтся Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΠ½, Π° Π·Π°Ρ‚Π΅ΠΌ исходноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сохраняСтся Π² Π½ΠΎΠ²ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.

ИспользованиС кода

Для использования ΠΊΠΎΠ΄Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΊ исходному ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ, Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ ΠΈ Ρ„Π°ΠΉΠ»Ρƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ Π² вашСй систСмС.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для вашСго ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ случая. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ налоТСния исходного изобраТСния ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ эффСкты.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ Π·Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка программирования Python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PIL. ΠœΡ‹ прСдоставили ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, объяснили Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ Π΄Π°Π»ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π΅Π³ΠΎ использованию.

Наши совСты ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π·Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Π½Π° ваши изобраТСния ΠΈ Π²Π΄ΠΎΡ…Π½ΡƒΡ‚ΡŒ ΠΈΠΌ Π½ΠΎΠ²ΡƒΡŽ Тизнь.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ изобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python #shorts #python

УдаляСм Ρ„ΠΎΠ½ с изобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python #shorts #ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ #python

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΎΠ½Π° ΠΎΠΊΠ½Π° tkinter python (ΠΏΠΈΡ‚ΠΎΠ½)

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ–ŒοΈ Как Ρ‡Π΅Ρ€Ρ‚ΠΈΡ‚ΡŒ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: Π»ΡƒΡ‡ΡˆΠΈΠ΅ совСты ΠΈ инструкции для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…!

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° языкС Python? πŸ’»

πŸ”Ž Как ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

🎨 Как Π·Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠ΅ эффСкты

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° совпадСниС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π±ΡƒΠΊΠ² Π² словах Π΄Π²Π° слова с использованиСм Python

3 простых способа ввСсти ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ 🐍✍️

πŸ•‘ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: простой ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ Π³ΠΈΠ΄