Bu proje, Matro Topluluğu tarafından düzenlenen "Görüntü İşleme ve OpenCV" eğitimi kapsamında hazırlanan kod örneklerini içerir. Görüntü işleme temellerinden başlayarak ileri düzey konulara kadar birçok uygulamalı örnek sunmaktadır.
- Proje Hakkında
- Gereksinimler
- Kurulum
- Kod İçerikleri
- OpenCV Temel Fonksiyonları
- Katkıda Bulunma
- Lisans
Bu eğitim dosyaları, görüntü işleme alanında kullanılan temel teknikleri öğrenmek ve OpenCV kütüphanesini uygulamalı olarak kullanmak isteyenlere yöneliktir. Eğitim sürecinde:
- Görüntü ve video işleme temelleri,
- Şekil ve metin çizimi,
- Filtreleme ve kenar bulma gibi temel konular işlenmiştir.
Projeyi çalıştırmak için aşağıdaki araçlar gereklidir:
- Python 3.7+
- OpenCV kütüphanesi
- NumPy kütüphanesi
Gerekli kütüphaneleri yüklemek için aşağıdaki komutu çalıştırabilirsiniz:
pip install opencv-python opencv-python-headless numpy
-
Bu projeyi bilgisayarınıza klonlayın:
git clone https://github.com/Matro-Topluluk/goruntu-isleme-egitimi.git cd goruntu-isleme-egitimi
-
Gerekli Python kütüphanelerini yükleyin:
pip install -r requirements.txt
-
Örnek kodları çalıştırarak eğitime başlayabilirsiniz. Örneğin:
python resim_isleme.py
- Resmi okuma ve kaydetme:
cv2.imread
,cv2.imwrite
- Piksel manipülasyonu:
cv2.add
,cv2.multiply
- Görüntü yansıması:
cv2.flip
- Görüntü boyutlandırma ve kırpma:
cv2.resize
, dilimleme
- Videoyu okuma ve oynatma:
cv2.VideoCapture
- Webcam'den görüntü alma: Canlı video akışı örnekleri
- Çizgi, daire, dikdörtgen çizme:
cv2.line
,cv2.circle
,cv2.rectangle
- Görüntüye metin ekleme:
cv2.putText
- Görüntü gösterme:
cv2.imshow
- Görüntü dönüştürme: Örneğin, gri tonlamaya çevirmek için
cv2.cvtColor
- Klavye ile etkileşim:
cv2.waitKey
Aşağıda OpenCV ile çalışırken sıkça kullanılan temel fonksiyonlar açıklanmıştır:
-
Görüntü Okuma ve Yazma
cv2.imread(filename, flag)
: Resmi okur.flag
değeri 0 (gri tonlama), 1 (renkli) olabilir.cv2.imwrite(filename, image)
: Görüntüyü kaydeder.
-
Görüntü Gösterme
cv2.imshow(window_name, image)
: Görüntüyü bir pencerede gösterir.cv2.waitKey(delay)
: Klavyeden giriş bekler.delay
0 ise sonsuz bekler.
-
Görüntü Manipülasyonu
cv2.resize(image, dsize)
: Görüntüyü verilen boyutlara yeniden boyutlandırır.cv2.flip(image, flip_code)
: Görüntüyü ayna simetri ile döndürür. Örneğin,flip_code=1
yatay aynalamadır.cv2.add(image1, image2)
: İki görüntüyü toplar.
-
Video İşleme
cv2.VideoCapture(source)
: Video dosyasını veya kamera kaynağını açar.capture.read()
: Video karesi okur.
-
Şekiller ve Çizimler
cv2.line(image, pt1, pt2, color, thickness)
: Çizgi çizer.cv2.circle(image, center, radius, color, thickness)
: Daire çizer.cv2.rectangle(image, pt1, pt2, color, thickness)
: Dikdörtgen çizer.cv2.putText(image, text, org, font, fontScale, color, thickness)
: Metin ekler.
-
Renk Dönüşümleri
cv2.cvtColor(image, code)
: Görüntüyü renk uzayları arasında dönüştürür (örneğin, BGR'den Gri).
Projeye katkıda bulunmak isterseniz, lütfen bir pull request oluşturun. Her türlü öneri ve iyileştirme memnuniyetle karşılanır.
Bu proje MIT Lisansı altında lisanslanmıştır. Daha fazla bilgi için LICENSE
dosyasını inceleyebilirsiniz.
Matro Topluluğu'na katılarak daha fazla bilgi ve eğitimlere erişebilirsiniz. İyi çalışmalar! 🎉