Görüntü İşleme İçin OpenCV ve Matplotlib

Görüntü İşleme İçin OpenCV ve Matplotlib

Ock 21, 2025 - 20:10
Ock 21, 2025 - 20:14
 0  5
Görüntü İşleme İçin OpenCV ve Matplotlib

Görüntü İşleme İçin OpenCV ve Matplotlib

Bu dersin amacı, katılımcılara Python ile görüntü işleme yapmak için en popüler kütüphaneler olan OpenCV ve Matplotlib'in nasıl kurulacağını, temel işlevlerini ve bu kütüphaneleri kullanarak görüntü işleme işlemlerini nasıl gerçekleştireceklerini öğretmektir. Katılımcılar, bu dersin sonunda OpenCV ile görüntü okuma, yazma ve işleme, ayrıca Matplotlib ile görüntü görselleştirme konularında pratik bilgi sahibi olacaklar. Aşağıda, dersin içeriği detaylı bir şekilde açıklanmıştır.

1. OpenCV ve Matplotlib Kütüphanelerinin Ubuntu Ortamında Kurulumu ve Kullanımı

  • OpenCV Kurulumu:

    • OpenCV, bilgisayarla görme (computer vision) uygulamaları için çok kullanılan bir kütüphanedir. Ubuntu ortamında OpenCV’yi kurmak için terminal üzerinden pip install opencv-python komutu kullanılır.

    • Katılımcılara, OpenCV’nin kurulumu sonrasında, kütüphanenin doğru şekilde yüklendiğini doğrulamak için Python üzerinden import cv2 komutunun nasıl çalıştırılacağı gösterilir.

  • Matplotlib Kurulumu:

    • Matplotlib, görselleştirme ve grafik çizimleri için kullanılan bir kütüphanedir. OpenCV ile işlenen görüntülerin görselleştirilmesi için Matplotlib sıklıkla kullanılır. Ubuntu’da pip install matplotlib komutuyla kurulum yapılır.

    • Katılımcılara, Matplotlib’in kurulumunun ardından, import matplotlib.pyplot as plt komutuyla görselleştirme araçlarının nasıl import edileceği gösterilir.

  • Yükleme Kontrolü:

    • Her iki kütüphanenin de düzgün bir şekilde yüklendiğini kontrol etmek için terminal veya Python IDE üzerinden kısa testler yapılır.

    • Kütüphanelerin versiyonları da kontrol edilir: cv2.__version__ ve matplotlib.__version__ komutları ile.

2. Görüntü Okuma, Yazma ve Gösterme İşlemleri

OpenCV, görüntü işleme konusunda oldukça güçlü bir kütüphanedir ve temel görüntü işleme işlemleri oldukça basittir. Bu bölümde, OpenCV kullanarak görüntü dosyalarının nasıl okunacağı, yazılacağı ve ekranda gösterileceği adım adım anlatılır.

  • Görüntü Okuma (cv2.imread):

    • OpenCV ile bir görüntü dosyasını okumanın temel yolu, cv2.imread() fonksiyonudur. Bu fonksiyon, bir görüntü dosyasını okur ve bir NumPy dizisi olarak döndürür.

Örnek:
import cv2

image = cv2.imread('image.jpg')

  • cv2.imread() fonksiyonu, görüntüyü BGR (Blue-Green-Red) renk uzayında okur. Bu nedenle renkleri doğru şekilde gösterebilmek için bazı dönüşümler yapılması gerekebilir.

  • Görüntü Gösterme (cv2.imshow):

    • OpenCV ile bir görüntüyü ekranda göstermek için cv2.imshow() fonksiyonu kullanılır.

    • cv2.imshow() fonksiyonu, görüntü dosyasını bir pencere içerisinde gösterir.

Örnek:
cv2.imshow('Görüntü', image)

cv2.waitKey(0)  # Tuşa basana kadar bekler

cv2.destroyAllWindows()  # Tüm pencereleri kapatır

  • cv2.waitKey(0) komutu, kullanıcıdan bir tuş girişi almayı bekler. Tuşa basıldığında pencere kapanır.

  • Görüntü Kaydetme (cv2.imwrite):

    • Okunan bir görüntü veya üzerinde işlem yapılan bir görüntü, cv2.imwrite() fonksiyonu ile dosyaya kaydedilebilir.

Örnek:
cv2.imwrite('output_image.jpg', image)

  • Bu işlemle, işlenmiş veya üzerinde değişiklik yapılmış görüntüler kaydedilebilir.

3. Matplotlib ile Görüntü Görselleştirme

OpenCV, görüntü işleme ve manipülasyonu konusunda güçlü olsa da, görüntülerin görselleştirilmesinde Matplotlib genellikle tercih edilir çünkü görselleştirme araçları sunar ve renk uzaylarını doğru şekilde işler.

  • Matplotlib ile Görüntü Gösterme:

    • OpenCV ile okunan görüntü, Matplotlib kullanılarak daha düzgün bir şekilde görselleştirilebilir. OpenCV, görüntüyü BGR formatında okur, ancak Matplotlib RGB formatında gösterir, bu yüzden renk dönüşümü yapılması gerekebilir.

Görüntüyü doğru şekilde göstermek için önce renk dönüşümü yapılır:
import cv2

import matplotlib.pyplot as plt

 

image = cv2.imread('image.jpg')

# BGR'den RGB'ye dönüşüm

image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

 

plt.imshow(image_rgb)

plt.axis('off')  # Eksenleri gizler

plt.show()

  • Matplotlib'in Sağladığı Avantajlar:

    • Matplotlib, ayrıca görüntüler üzerinde eksenler, başlıklar ve etiketler ekleyebilme imkanı sağlar. Görüntülerin daha detaylı analiz ve inceleme yapılabilmesi için bu özellikler çok kullanışlıdır.

    • Görüntüyü çizmek için plt.imshow() fonksiyonu, ve renkli haritalar için de cmap parametresi kullanılabilir.

  • Görüntüye Başlık ve Etiket Ekleme:

Görselleştirme sırasında, görüntülere başlık eklemek ve eksenleri etiketlemek oldukça yaygındır:
plt.imshow(image_rgb)

plt.title('Görüntü Başlığı')

plt.xlabel('X Ekseni')

plt.ylabel('Y Ekseni')

plt.show()

4. Uygulamalı: Bir Görüntü Dosyasını Okuma ve Ekranda Görselleştirme

Bu bölümde, katılımcılarla birlikte gerçek bir görüntü dosyasını okuyacak, işleme yapacak ve hem OpenCV hem de Matplotlib kullanarak bu görüntüyü ekranda görselleştirecek bir uygulama yapılır. Katılımcılar, bu uygulama sırasında şunları öğrenirler:

  • Görüntü dosyasını doğru şekilde okuma.

  • Görüntüyü işleme (örneğin, gri tonlamaya çevirme veya kırpma).

  • Görselleştirme (her iki kütüphaneyi kullanarak görüntülerin ekranda gösterilmesi).

  • Uygulama Adımları:

Bir görüntü dosyasını Python programı ile okuyun:
image = cv2.imread('image.jpg')

 

Görüntüyü RGB formatına dönüştürün:
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

 

Görüntüyü OpenCV ile ekranda gösterin:
cv2.imshow('Görüntü', image)

cv2.waitKey(0)

cv2.destroyAllWindows()

 

Görüntüyü Matplotlib ile ekranda gösterin:
plt.imshow(image_rgb)

plt.title('Matplotlib ile Görüntü')

plt.show()

Ders Sonunda Beklenen Çıktılar:

  • Katılımcılar, OpenCV ve Matplotlib kütüphanelerini Ubuntu ortamında kurarak kullanabilecekler.

  • Görüntü dosyalarını Python ile okuma, işleme, kaydetme ve görselleştirme işlemlerini başarıyla gerçekleştirebilecekler.

  • OpenCV ile görüntü işleme yaparken Matplotlib ile bu görüntülerin görselleştirilmesi konusunda deneyim kazanacaklar.

  • Katılımcılar, bu temel bilgileri kullanarak daha karmaşık görüntü işleme ve görselleştirme projelerine geçiş yapabilecekler.

Bu ders, katılımcıların Python ile görüntü işleme konusunda sağlam bir temel atmaları için çok önemlidir ve görüntü işleme uygulamalarına başlamadan önce gerekli altyapıyı oluşturur

Bu Yazıya Tepkin Nedir?

like

dislike

love

funny

angry

sad

wow