Kako Ukloniti Pozadine sa 1001 Slike u Tren oka – Python za Sve

Jeste li ikada sjedili za računalom i proklinjali dan kad ste odlučili ručno skidati pozadine sa slika? 

Ja jesam! 😵‍💫Uklanjanje pozadina je noćna mora kada vam treba stotinjak slika bez pozadine, a nemate tjedan dana za gubiti na tome.


Srećom, Python dolazi kao superjunak s plaštem u obliku knjižnice rembg

Kroz ovaj članak pokazat ću vam kako brzo i učinkovito ukloniti pozadine sa svojih slika koristeći jednostavanu Python skriptu.

Zašto uklanjati pozadinu?

Razlozi za uklanjanje pozadina su brojni i često ovise o vašem poslovanju ili osobnim potrebama. 

Evo nekoliko najčešćih scenarija:


Kako radi skripta?

Koristit ćemo Python, knjižnicu rembg i malo kreativnosti da uklonimo pozadine s gomile slika u jednoj sesiji. Kod koji ćemo koristiti automatski prolazi kroz mapu slika, uklanja pozadine i sprema obrađene slike u novu mapu.

Potrebni alati:

Python – Instalirajte Python 3.8 ili noviju verziju. Preuzmite ovdje.

Knjižnice – Instalirajte potrebne knjižnice s naredbom:

pip install rembg pillow

Analiza koda

import os

from rembg import remove

from PIL import Image

from pathlib import Path


def remove_background(input_folder):

    # Kreiraj izlaznu mapu ako ne postoji

    output_folder = os.path.join(input_folder, "output")

    os.makedirs(output_folder, exist_ok=True)

    

    # Podržani formati slika

    valid_extensions = {'.png', '.jpg', '.jpeg', '.webp'}

    

    # Procesiranje svake slike u mapi

    for filename in os.listdir(input_folder):

        if Path(filename).suffix.lower() in valid_extensions:

            input_path = os.path.join(input_folder, filename)

            output_filename = f"{Path(filename).stem}_no_bg.png"

            output_path = os.path.join(output_folder, output_filename)

            

            try:

                print(f"Obrađujem {filename}...")

                input_image = Image.open(input_path)

                output_image = remove(input_image)

                output_image.save(output_path)

                print(f"Spremio sliku: {output_path}")

            except Exception as e:

                print(f"Greška pri obradi {filename}: {str(e)}")


if __name__ == "__main__":

    input_folder = input("Unesite put do mape sa slikama: ").strip()

    if not os.path.exists(input_folder):

        print("Greška: Mapa ne postoji!")

    else:

        remove_background(input_folder)

        print("\nProces uklanjanja pozadina je završen!")


Kako ga pokrenuti?

Pripremite mape – Stavite slike čije pozadine želite ukloniti u jednu mapu.

Pokrenite skriptu – Pokrenite Python datoteku i unesite put do mape.

Pregledajte rezultate – Obratite pažnju na novu mapu output koja sadrži slike s uklonjenim pozadinama.

Puni kod:

Evo kompletnog koda spremnog za kopiranje i pokretanje:

import os

from rembg import remove

from PIL import Image

from pathlib import Path


def remove_background(input_folder):

    output_folder = os.path.join(input_folder, "output")

    os.makedirs(output_folder, exist_ok=True)

    valid_extensions = {'.png', '.jpg', '.jpeg', '.webp'}

    for filename in os.listdir(input_folder):

        if Path(filename).suffix.lower() in valid_extensions:

            input_path = os.path.join(input_folder, filename)

            output_filename = f"{Path(filename).stem}_no_bg.png"

            output_path = os.path.join(output_folder, output_filename)

            try:

                print(f"Obrađujem {filename}...")

                input_image = Image.open(input_path)

                output_image = remove(input_image)

                output_image.save(output_path)

                print(f"Spremio sliku: {output_path}")

            except Exception as e:

                print(f"Greška pri obradi {filename}: {str(e)}")


if __name__ == "__main__":

    input_folder = input("Unesite put do mape sa slikama: ").strip()

    if not os.path.exists(input_folder):

        print("Greška: Mapa ne postoji!")

    else:

        remove_background(input_folder)

        print("\nProces uklanjanja pozadina je završen!")


Zašto je ovo rješenje vrh?

Osim što vam štedi vrijeme, skripta vam omogućuje da bez tehničkog znanja uklonite pozadine s više slika. Bez plaćanja skupih alata ili usluga, Python vam nudi jednostavno i moćno rješenje.

Sljedeći put kad se uhvatite za glavu zbog brda slika koje treba obraditi, sjetite se ove skripte. 

Goran Peremin

With over 10 years of experience in the field, Goran has worked on a wide range of projects, including performance marketing for eCommerce, SEO, design thinking, UX design, graphic design, social media management, and influencer marketing. It’s safe to say that Goran is a master of many skills, each more refined than the last.


Goran holds great responsibility in shaping and executing all kinds of digital marketing strategies.

 From the high peaks of content marketing to the deep caves of SEO, PPC, email, and social media, he navigates them all. He leads Bima’s digital presence, always vigilant in measuring and reporting on the performance of all digital marketing campaigns. Indeed, he ensures they achieve their goals, both ROI and KPI, lest he incur the wrath of the marketing gods.

Goran, a Growth Marketer with a keen eye for trends and insights, tirelessly optimizes his costs and performance based on such findings.

He is a true brainstorming wizard, effortlessly conjuring up new and creative growth strategies, boldly running experiments and conversion tests to uncover the most effective paths to digital marketing success.


LinkedInGitHub