lol
This commit is contained in:
43
ultra_green_removal.py
Normal file
43
ultra_green_removal.py
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Ultra-Aggressive Green Screen Removal
|
||||
Odstrani VSE zelenkaste piksle
|
||||
"""
|
||||
|
||||
from PIL import Image
|
||||
import numpy as np
|
||||
|
||||
def ultra_remove_green(input_path, output_path):
|
||||
"""
|
||||
Ultra aggressive green removal
|
||||
"""
|
||||
print(f"Ultra processing: {input_path}")
|
||||
|
||||
# Odpri sliko
|
||||
img = Image.open(input_path)
|
||||
img = img.convert("RGBA")
|
||||
|
||||
# Pretvori v numpy array za hitrejšo obdelavo
|
||||
data = np.array(img)
|
||||
|
||||
# Ekstrahiraj kanale
|
||||
r, g, b, a = data[:,:,0], data[:,:,1], data[:,:,2], data[:,:,3]
|
||||
|
||||
# Najdi vse piksle kjer je zelena dominantna
|
||||
# Zelena mora biti močnejša od rdečega IN modrega
|
||||
green_mask = (g > 80) & (g > r + 30) & (g > b + 30)
|
||||
|
||||
# Nastavi alfa kanal na 0 za zelene piksle
|
||||
data[green_mask, 3] = 0
|
||||
|
||||
# Pretvori nazaj v sliko
|
||||
result = Image.fromarray(data, 'RGBA')
|
||||
|
||||
# Shrani
|
||||
result.save(output_path, "PNG")
|
||||
print(f"✓ Ultra cleaned: {output_path}")
|
||||
|
||||
# Samo vignetta potrebuje ultra čiščenje
|
||||
ultra_remove_green("NOVE_SLIKE/UI/vignette_bloody.png", "NOVE_SLIKE/UI/vignette_bloody.png")
|
||||
|
||||
print("\n✓ VIGNETTA ULTRA CLEANED!")
|
||||
Reference in New Issue
Block a user