Kód má mírně stáhnout modrou barvu (což není přesně co jsem chtěl - na původním obrázku se trochu odráží modré LED světlo, tak jsem to chtěl stáhnout). Nicméně to by bylo třeba vybrat jen ty pixely kde je ta modrá barva a neaplikovat to na celý dokument. Nastavení kontrastu je pro dokument, který má nízký kontrast.
from PIL import Image, ImageEnhance
import os
import glob
# Funkce pro úpravu obrázku
def adjust_image(image_path, output_path):
# Otevření obrázku
img = Image.open(image_path).convert("RGB")
# 1. Odstranění modrého nádechu (snížení modrého kanálu)
r, g, b = img.split()
# Snížíme intenzitu modrého kanálu (např. o 20 %)
b = b.point(lambda x: int(x * 0.8))
img = Image.merge("RGB", (r, g, b))
# 2. Zesvětlení pozadí a zvýšení kontrastu pro tmavší text
# Převod na šedotón (pro OCR je lepší černobílé zobrazení)
img = img.convert("L")
# Úprava jasu (zesvětlení středních tónů)
enhancer = ImageEnhance.Brightness(img)
img = enhancer.enhance(1.2) # Mírné zesvětlení (1.2 je jemná úprava)
# Úprava kontrastu
enhancer = ImageEnhance.Contrast(img)
img = enhancer.enhance(2.0) # Zvýšíme kontrast (hodnota 2.0 je dobrý základ)
# Úprava jasu (zesvětlení středních tónů)
enhancer = ImageEnhance.Brightness(img)
img = enhancer.enhance(1.4) # Mírné zesvětlení (1.2 je jemná úprava)
# Uložení upraveného obrázku
img.save(output_path, "JPEG")
print(f"Upravený obrázek uložen jako: {output_path}")
# Hlavní funkce pro zpracování všech obrázků v adresáři
def process_images(input_folder, output_folder):
# Vytvoření výstupní složky, pokud neexistuje
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# Najdeme všechny JPG soubory v input složce
image_files = glob.glob(os.path.join(input_folder, "*.jpg"))
# Zpracujeme každý obrázek
for image_path in image_files:
# Vytvoříme název výstupního souboru
filename = os.path.basename(image_path)
output_path = os.path.join(output_folder, f"adjusted_{filename}")
# Upravíme obrázek
adjust_image(image_path, output_path)
# Spuštění skriptu
if __name__ == "__main__":
# Nastavte cestu k adresáři s vyextrahovanými obrázky a výstupní složku
input_folder = "/home/user/Dokumenty/Knihy/scan music theory 1/test" # Nahraďte cestou k vašim obrázkům
output_folder = "/home/user/Dokumenty/Knihy/scan music theory 1/output" # Nahraďte cestou k výstupní složce
# Zpracujeme obrázky
process_images(input_folder, output_folder)