CodeGym /Kurslar /Python SELF AZ /Rənglərlə iş və şəkillərin korreksiyası

Rənglərlə iş və şəkillərin korreksiyası

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

1. Rəng Rejiminin Dəyişdirilməsi

Şəkil müxtəlif rəng rejimlərində təqdim oluna bilər, məsələn:

  • RGB: Standart rəngli rejim.
  • L: Boz çalarlar.
  • CMYK: Çap üçün istifadə olunur.
  • RGBA: Şəffaflıq üçün alfa kanalı ilə RGB.

Şəkli başqa rəng rejiminə çevirmək üçün convert() metodundan istifadə etmək olar.

Boz Çalarlara Çevrilmə

Şəkli ağ-qara etmək üçün L rəng rejimindən istifadə edin:


# Boz çalarlara çevrilmə
gray_image = image.convert("L")
gray_image.save("gray_example.jpg")

Bu kod şəkli ağ-qara çevirir və onu gray_example.jpg faylına saxlayır. Bu, sadə bir ağ-qara üslub yaratmaq və ya yalnız parlaq səviyyələrin vacib olduğu analiz üçün şəkli hazırlamaq istədikdə faydalıdır.

CMYK Rejiminə Çevrilmə

CMYK çap sənayesində tez-tez istifadə olunur. Şəkili bu rejimə çevirmək faydalı ola bilər, əgər şəkil çap üçün nəzərdə tutulubsa.


# CMYK rejiminə çevrilmə
cmyk_image = image.convert("CMYK")
cmyk_image.save("cmyk_example.jpg")

2. Şəkilə filtrlərin tətbiqi

Pillow bir neçə daxili filtrlər təklif edir ki, bunlardan müxtəlif effektlər yaratmaq üçün istifadə etmək olar. Bu filtrlər ImageFilter modulunda yerləşir.

Yumşaqlıq, kontur və kəskinlik filtrlərinin tətbiqi


from PIL import ImageFilter

# Yumşaqlıq filtrinin tətbiqi
blurred_image = image.filter(ImageFilter.BLUR)
blurred_image.save("blurred_example.jpg")

# Kontur filtrinin tətbiqi
contour_image = image.filter(ImageFilter.CONTOUR)
contour_image.save("contour_example.jpg")

# Kəskinlik filtrinin tətbiqi
sharpened_image = image.filter(ImageFilter.SHARPEN)
sharpened_image.save("sharpened_example.jpg")

Burada biz üç fərqli filtr tətbiq edirik:

  • BLUR: Şəkli yumşaldır, bu da yumşaq effektlər yaratmaq üçün faydalıdır.
  • CONTOUR: Şəkildəki obyektlərin konturlarını vurğulayır.
  • SHARPEN: Kəskinliyi artırır, şəkli daha aydın edir.

Digər filtrlər

Pillow-da digər faydalı filtrlər:

  • DETAIL: Detalları vurğulayır.
  • EDGE_ENHANCE: Kənarları gücləndirir.
  • SMOOTH: Şəklə yumşaqlıq əlavə edir.

# Kənarları gücləndirən filtrin tətbiqi
edge_image = image.filter(ImageFilter.EDGE_ENHANCE)
edge_image.save("edge_enhance_example.jpg")

3. Parlaqlıq, kontrast, kəskinlik və doyma tənzimlənməsi

Pillow-da olan ImageEnhance paketi şəkillərin parlaqlığını, kontrastını, kəskinliyini və rəng doyma səviyyəsini asanlıqla dəyişdirməyə imkan verir.

Parlaqlığın tənzimlənməsi

Parlaqlığı dəyişmək üçün ImageEnhance.Brightness sinfindən istifadə edin. Parlaqlıq əmsalı istənilən rəqəm ola bilər: 1.0 — ilkin parlaqlıq, 1.0-dan az — zəif işıqlıq, 1.0-dan çox — parlaqlığın artması.


from PIL import ImageEnhance

# Parlaqlığın dəyişdirilməsi
enhancer = ImageEnhance.Brightness(image)
brighter_image = enhancer.enhance(1.5)  # Parlaqlığın 50% artırılması
brighter_image.save("brighter_example.jpg")

Kontrastın tənzimlənməsi

Kontrast parlaq hissələri daha parlaq, qaranlıq hissələri isə daha tünd edir. Kontrastı tənzimləmək üçün ImageEnhance.Contrast istifadə edin.


# Kontrastın dəyişdirilməsi
enhancer = ImageEnhance.Contrast(image)
higher_contrast_image = enhancer.enhance(1.5)  # Kontrastın 50% artırılması
higher_contrast_image.save("higher_contrast_example.jpg")

Kəskinliyin tənzimlənməsi

Kəskinlik şəkil üzərindəki obyektlərin kənarlarının nə qədər dəqiq olduğunu göstərir. Kəskinliyi tənzimləmək üçün ImageEnhance.Sharpness istifadə olunur.


# Kəskinliyin dəyişdirilməsi
enhancer = ImageEnhance.Sharpness(image)
sharper_image = enhancer.enhance(2.0)  # Kəskinliyin 2 dəfə artırılması
sharper_image.save("sharper_example.jpg")

1.0 ilkin kəskinliyi saxlayır, 1.0-dan az olan dəyər şəkli daha bulanıq edir, 1.0-dan çox olan dəyər isə şəkli daha kəskin edir.

Rəng doyma səviyyəsinin tənzimlənməsi

Rəng doyma səviyyəsi rənglərin daha parlaq və ya daha az intensiv olmasını təmin edir. Nəşatəti dəyişdirmək üçün ImageEnhance.Color istifadə edin.


# Rəng doyma səviyyəsinin dəyişdirilməsi
enhancer = ImageEnhance.Color(image)
more_vibrant_image = enhancer.enhance(1.5)  # Rəng doyma səviyyəsinin 50% artırılması
more_vibrant_image.save("more_vibrant_example.jpg")

4. Şəkillərin korreksiya üsullarının müqayisəsi

Metod Təsvir Tətbiq
convert("L") Şəkili qara-ağ rejimə çevirmək Q/A stil, kölgələrin analizi
ImageFilter Yumuşaltma, kəskinləşdirmə və s. üçün filtr tətbiqi Effektlərin tətbiqi, obyektlərin seçilməsi
ImageEnhance.Brightness Şəkilin parlaqlığını tənzimləmək Parlaqlaşdırma və ya qaranlıqlaşdırma
ImageEnhance.Contrast Kontrastlığı dəyişmək Detalların görünüşünü yaxşılaşdırmaq
ImageEnhance.Sharpness Kəskinliyi dəyişmək Kənarların vurğulanması, aydınlığın artırılması
ImageEnhance.Color Rəng doyğunluğunu tənzimləmək Parlaq və doymuş şəkillər yaratmaq

5. Nümunələr

Şəklin tam emalı nümunəsi

Gəlin yuxarıda göstərilənləri birləşdirək və rəng korreksiyasının bir neçə mərhələsini həyata keçirən, filtrlər tətbiq edən, parlaqlıq, kontrastlıq və doymanı dəyişən bir kod yaradaq.


from PIL import Image, ImageEnhance, ImageFilter

# Şəkilin yüklənməsi
image = Image.open("example.jpg")

# Qara-ağ rejimə çevrilmə
gray_image = image.convert("L")
gray_image.save("gray_example.jpg")

# Kəskinlik filtrinin tətbiqi
sharpened_image = gray_image.filter(ImageFilter.SHARPEN)
sharpened_image.save("sharpened_gray_example.jpg")

# Parlaqlığın artırılması
enhancer = ImageEnhance.Brightness(sharpened_image)
brighter_image = enhancer.enhance(1.3)  # 30% daha parlaq
brighter_image.save("brighter_gray_example.jpg")

# Kontrastlığın artırılması
enhancer = ImageEnhance.Contrast(brighter_image)
higher_contrast_image = enhancer.enhance(1.5)  # 50% daha kontrastlı
higher_contrast_image.save("final_example.jpg")

Rəng korreksiyasının praktiki tətbiqi

  • Fotoşəkillərin işlənməsi: Parlaqlıq və kontrastlığın tənzimlənməsi fotoşəkildəki detalların görünüşünü yaxşılaşdıra bilər, filtrlər isə şəkili daha ifadəli edə bilər.
  • Təhlil üçün şəkillərin hazırlanması: Qara-ağa çevrilmə, kəskinliyin artırılması və kontrastlığın artırılması şəkili daha aydın və təhlilə yararlı edər.
  • Şəkillərin stilizasiyası: Doymanın dəyişilməsi və filtrlərin tətbiqi unikal üslublar və dizayn layihələri üçün efektlər yaratmağa imkan verir.
1
Tapşırıq
Python SELF AZ, səviyyə, dərs
Bağlanıb
Şəklin müxtəlif rəng rejimlərinə çevrilməsi
Şəklin müxtəlif rəng rejimlərinə çevrilməsi
2
Tapşırıq
Python SELF AZ, səviyyə, dərs
Bağlanıb
Şəkilə filtrlərin tətbiqi
Şəkilə filtrlərin tətbiqi
3
Tapşırıq
Python SELF AZ, səviyyə, dərs
Bağlanıb
Parlaqlıq, kontrast və doyma düzəlişi
Parlaqlıq, kontrast və doyma düzəlişi
4
Tapşırıq
Python SELF AZ, səviyyə, dərs
Bağlanıb
Şəkilin kompleks işlənməsi və stilizasiyası
Şəkilin kompleks işlənməsi və stilizasiyası
1
Sorğu/viktorina
, səviyyə, dərs
Əlçatan deyil
Şəkillərlə iş Pillow ilə
Şəkillərlə iş Pillow ilə
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION