#!/usr/bin/env python3 """ Chroma Key Green Screen Removal Odstrani zeleno ozadje (#00FF00) in naredi transparentno """ from PIL import Image import os def remove_green_background(input_path, output_path, tolerance=30): """ Odstrani zeleno ozadje in naredi transparentno Args: input_path: Pot do vhodne slike output_path: Pot do izhodne slike tolerance: Toleranca za zeleno barvo (0-255) """ print(f"Processing: {input_path}") # Odpri sliko img = Image.open(input_path) img = img.convert("RGBA") # Pridobi pixel podatke datas = img.getdata() new_data = [] for item in datas: # Preveri če je pixel zelen (#00FF00 oz. blizu) # Zelena je visoka, rdeča in modra sta nizki # Agresivnejša detekcija - če je zelena močnejša od rdečega in modrega if item[1] > 100 and (item[1] > item[0] + 50) and (item[1] > item[2] + 50): # Spremeni v transparentno new_data.append((255, 255, 255, 0)) else: # Obdrži original new_data.append(item) # Posodobi sliko img.putdata(new_data) # Shrani img.save(output_path, "PNG") print(f"✓ Saved: {output_path}") # Slike za obdelavo images = [ ("NOVE_SLIKE/UI/gauge_shattered.png", "NOVE_SLIKE/UI/gauge_shattered.png"), ("NOVE_SLIKE/UI/vignette_bloody.png", "NOVE_SLIKE/UI/vignette_bloody.png"), ("NOVE_SLIKE/UI/icon_photo.png", "NOVE_SLIKE/UI/icon_photo.png"), ("NOVE_SLIKE/UI/icon_longboard.png", "NOVE_SLIKE/UI/icon_longboard.png"), ] print("=" * 60) print("CHROMA KEY - Odstranjevanje zelenega ozadja") print("=" * 60) for input_img, output_img in images: if os.path.exists(input_img): remove_green_background(input_img, output_img, tolerance=50) else: print(f"✗ File not found: {input_img}") print("\n" + "=" * 60) print("KONČANO! Vsa zelena ozadja so odstranjena.") print("=" * 60)