Görüntü işleme, bir görüntüyü analiz etme, yorumlama ve dönüştürme sürecidir. Sayısal (dijital) görüntü işleme, bilgisayarlar aracılığıyla görsel verileri işleyerek bilgi çıkarımı, filtreleme, iyileştirme veya otomasyon gibi işlemleri gerçekleştirmeyi amaçlar. Bu alan yapay zeka, makine öğrenimi, robotik, sağlık ve güvenlik gibi birçok sektörde kullanılmaktadır.
Görüntü İşleme Nedir?
Görüntü işleme, iki ana kategoriye ayrılır:
-
Analog Görüntü İşleme: Optik lens, filtre gibi fiziksel araçlarla yapılan işlemler.
-
Dijital Görüntü İşleme: Görüntülerin sayısal hale getirilip (piksel verileriyle) yazılımsal olarak işlenmesi.
Bu yazıda dijital görüntü işlemeye odaklanacağız.
Görüntü İşlemede Hedefler
-
Gürültü giderme (noise reduction)
-
Görüntü iyileştirme (enhancement)
-
Kenar belirleme (edge detection)
-
Nesne tanıma (object recognition)
-
Segmentasyon (görüntünün bölgelere ayrılması)
-
Takip (object tracking)
-
Görüntü sınıflandırma (CNN ile)
Nasıl Yapılır? Kullanılan Araçlar ve Kütüphaneler
Yaygın diller:
-
Python
-
C++
-
MATLAB
Kütüphaneler:
-
OpenCV (C++ / Python)
-
Pillow (Python)
-
scikit-image (Python)
-
TensorFlow/Keras (Derin öğrenme destekli görüntü işleme)
✅ Görüntü İşleme Adımları
-
Görüntü Girişi:
import cv2
img = cv2.imread("resim.jpg")
-
Ön İşleme (Pre-processing):
gri = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gri, (5, 5), 0)
-
Kenar Belirleme:
kenarlar = cv2.Canny(blur, 50, 150)
-
Bölütleme (Segmentasyon):
_, thresh = cv2.threshold(gri, 127, 255, cv2.THRESH_BINARY)
-
Nesne Bulma (Contour Detection):
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img, contours, -1, (0,255,0), 2)
Örnek Projeler
1. Yüz Tanıma
OpenCV’nin Haar cascade sınıflandırıcısıyla:
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(gri, scaleFactor=1.1, minNeighbors=5)
2. Plaka Tanıma
-
Plaka bölgesini segmentleyip OCR (Tesseract) ile metin tanıma yapılır.
3. El Hareketiyle Kontrol
-
El bölgesini arka plandan ayır.
-
Kontur analizleri ile işaret sayısını algıla.
4. Gürültü Temizleme ve Filtreleme
median = cv2.medianBlur(img, 5)
5. Kamera ile Canlı Video Üzerinde İşleme
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
gri = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow("Görüntü", gri)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
İleri Düzey Uygulamalar
Alan | Uygulama |
---|---|
Sağlık | MR/BT görüntülerinden tümör tespiti |
Otonom Araçlar | Yol çizgisi takibi, trafik levhası algılama |
Güvenlik | CCTV üzerinde hareket algılama |
Tarım | Drone görüntülerinden ürün analizi |
Kaynaklar
✅ Sonuç
Görüntü işleme, bilgisayarlara görsel verileri anlama kabiliyeti kazandıran güçlü bir disiplindir. OpenCV gibi kütüphanelerle basit bir görüntü filtrelemeden karmaşık nesne tanıma projelerine kadar pek çok uygulama geliştirilebilir. Görselli verilerle çalışan her sektörde faydası olan bu teknoloji, yapay zeka ve robotik dünyasının temel taşlarından biridir.