CodeGym /Kurs Javy /Python SELF PL /Praca z kolorem i korekcja obrazów

Praca z kolorem i korekcja obrazów

Python SELF PL
Poziom 45 , Lekcja 4
Dostępny

1. Zmiana trybu kolorów

Obraz może być przedstawiony w różnych trybach kolorów, takich jak:

  • RGB: Standardowy tryb kolorowy.
  • L: Odcienie szarości.
  • CMYK: Używany w druku.
  • RGBA: RGB z kanałem alfa (dla przezroczystości).

Przekształcenie obrazu na inny tryb kolorów można wykonać za pomocą metody convert().

Konwersja na odcienie szarości

Aby obraz stał się czarno-biały, użyj trybu kolorów L:


# Konwersja na odcienie szarości
gray_image = image.convert("L")
gray_image.save("gray_example.jpg")

Ten kod przekształca obraz na czarno-biały i zapisuje go do pliku gray_example.jpg. Jest to przydatne, jeśli chcesz stworzyć czarno-biały styl lub przygotować obraz do analizy, gdzie ważne są tylko poziomy jasności.

Konwersja na tryb CMYK

CMYK jest często używany w poligrafii. Przekształcenie obrazu na ten tryb może być przydatne, jeśli obraz jest przeznaczony do druku.


# Konwersja na CMYK
cmyk_image = image.convert("CMYK")
cmyk_image.save("cmyk_example.jpg")

2. Stosowanie filtrów na obrazie

Pillow oferuje kilka wbudowanych filtrów, które można wykorzystać do tworzenia różnych efektów. Filtry te znajdują się w module ImageFilter.

Stosowanie filtrów rozmycia, konturu i ostrości


from PIL import ImageFilter

# Stosowanie filtra rozmycia
blurred_image = image.filter(ImageFilter.BLUR)
blurred_image.save("blurred_example.jpg")

# Stosowanie filtra konturów
contour_image = image.filter(ImageFilter.CONTOUR)
contour_image.save("contour_example.jpg")

# Stosowanie filtra ostrości
sharpened_image = image.filter(ImageFilter.SHARPEN)
sharpened_image.save("sharpened_example.jpg")

Tu stosujemy trzy różne filtry:

  • BLUR: Rozmycie obrazu, co jest przydatne do tworzenia miękkich efektów.
  • CONTOUR: Wyróżnianie konturów obiektów na obrazie.
  • SHARPEN: Zwiększenie ostrości, co sprawia, że obraz staje się bardziej wyraźny.

Inne filtry

Niektóre inne przydatne filtry dostępne w Pillow:

  • DETAIL: Podkreśla szczegóły.
  • EDGE_ENHANCE: Wzmacnia krawędzie.
  • SMOOTH: Wygładza obraz.

# Stosowanie filtra wzmacniającego krawędzie
edge_image = image.filter(ImageFilter.EDGE_ENHANCE)
edge_image.save("edge_enhance_example.jpg")

3. Dostosowanie jasności, kontrastu, ostrości i nasycenia

Pakiet ImageEnhance w Pillow pozwala łatwo zmieniać jasność, kontrast, ostrość i nasycenie kolorów obrazu.

Dostosowanie jasności

Aby zmienić jasność, użyj klasy ImageEnhance.Brightness. Współczynnik jasności może być dowolną liczbą: 1.0 — pierwotna jasność, mniej niż 1.0 — przyciemnienie, więcej niż 1.0 — zwiększenie jasności.


from PIL import ImageEnhance

# Zmiana jasności
enhancer = ImageEnhance.Brightness(image)
brighter_image = enhancer.enhance(1.5)  # Zwiększenie jasności o 50%
brighter_image.save("brighter_example.jpg")

Dostosowanie kontrastu

Kontrast sprawia, że jasne obszary stają się jaśniejsze, a ciemne — ciemniejsze. Do dostosowania kontrastu użyj ImageEnhance.Contrast.


# Zmiana kontrastu
enhancer = ImageEnhance.Contrast(image)
higher_contrast_image = enhancer.enhance(1.5)  # Zwiększenie kontrastu o 50%
higher_contrast_image.save("higher_contrast_example.jpg")

Dostosowanie ostrości

Ostrość określa, jak wyraźne będą krawędzie obiektów na obrazie. Do dostosowania ostrości użyj ImageEnhance.Sharpness.


# Zmiana ostrości
enhancer = ImageEnhance.Sharpness(image)
sharper_image = enhancer.enhance(2.0)  # Zwiększenie ostrości dwukrotnie
sharper_image.save("sharper_example.jpg")

Wartość 1.0 zachowuje pierwotną ostrość, poniżej 1.0 obraz staje się bardziej rozmyty, a powyżej 1.0 — bardziej ostry.

Dostosowanie nasycenia kolorów

Nasycenie kolorów sprawia, że kolory stają się bardziej lub mniej intensywne. Aby zmienić nasycenie, użyj ImageEnhance.Color.


# Zmiana nasycenia
enhancer = ImageEnhance.Color(image)
more_vibrant_image = enhancer.enhance(1.5)  # Zwiększenie nasycenia o 50%
more_vibrant_image.save("more_vibrant_example.jpg")

4. Porównanie metod korekcji obrazu

Metoda Opis Zastosowanie
convert("L") Przekształcenie obrazu w tryb czarno-biały Styl czarno-biały, analiza odcieni
ImageFilter Stosowanie filtrów do rozmycia, ostrości itp. Efekty nakładania, wyróżnianie obiektów
ImageEnhance.Brightness Regulacja jasności obrazu Rozjaśnianie lub przyciemnianie
ImageEnhance.Contrast Zmiana kontrastu Poprawa widoczności szczegółów
ImageEnhance.Sharpness Zmiana ostrości Podkreślanie krawędzi, zwiększanie wyrazistości
ImageEnhance.Color Dostosowanie nasycenia kolorów Tworzenie jasnych, nasyconych obrazów

5. Przykłady

Przykład pełnej obróbki obrazu

Połączmy wszystko powyższe i stwórzmy kod, który wykonuje kilka etapów korekcji kolorów, stosuje filtry, zmienia jasność, kontrast i nasycenie.


from PIL import Image, ImageEnhance, ImageFilter

# Załadowanie obrazu
image = Image.open("example.jpg")

# Konwersja na tryb czarno-biały
gray_image = image.convert("L")
gray_image.save("gray_example.jpg")

# Stosowanie filtra ostrości
sharpened_image = gray_image.filter(ImageFilter.SHARPEN)
sharpened_image.save("sharpened_gray_example.jpg")

# Zwiększenie jasności
enhancer = ImageEnhance.Brightness(sharpened_image)
brighter_image = enhancer.enhance(1.3)  # O 30% jaśniej
brighter_image.save("brighter_gray_example.jpg")

# Zwiększenie kontrastu
enhancer = ImageEnhance.Contrast(brighter_image)
higher_contrast_image = enhancer.enhance(1.5)  # O 50% większy kontrast
higher_contrast_image.save("final_example.jpg")

Praktyczne zastosowanie korekcji kolorów

  • Obróbka zdjęć: Regulacja jasności i kontrastu może poprawić widoczność szczegółów na zdjęciu, a filtry pomogą uczynić obraz bardziej wyrazistym.
  • Przygotowanie obrazów do analizy: Konwersja na czarno-białe, zwiększenie ostrości i kontrastu pomogą uczynić obraz bardziej wyraźnym i nadającym się do analizy.
  • Stylizacja obrazów: Zmiana nasycenia i stosowanie filtrów pozwalają stworzyć unikalne style i efekty do projektów designerskich.
1
Опрос
Praca z obrazami za pomocą Pillow,  45 уровень,  4 лекция
недоступен
Praca z obrazami za pomocą Pillow
Praca z obrazami za pomocą Pillow
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION