Bu kitap, blog yazılarımın derlenmesiyle oluşturulmuş kapsamlı bir OpenCV rehberidir. Daha önce görüntü işleme ile uğraşmamış veya farklı kütüphaneleri kullanmış, OpenCV öğrenmek isteyenlere yöneliktir.
📥 Kitabı İndir
📄 OpenCV ile Görüntü İşleme PDF İndir (Ücretsiz)
Kitap Hakkında
Yer alan örnekler çoğunlukla Java ile anlatılmış, yeri geldiğinde Python örnekleri de eklenmiştir. Temel kavramlardan başlayarak birçok kavram ve algoritma ele alınmıştır.
Örnek uygulamalar hem OpenCV 3.x hem de 2.4.x sürümleri kullanılarak geliştirilmiştir. Gereken yerlerde sürümler arası farklılıklara değinilmiştir.
İçindekiler
Giriş ve Kurulum
- OpenCV Nedir?
- OpenCV Bileşenleri (Core, HighGui, Imgproc, Imgcodecs, Videoio)
- Alternatif Görüntü İşleme Kütüphaneleri
- Neden OpenCV? Neden Java?
- OpenCV Wrappers (EmguCV, JavaCV, LiveCV)
- Windows ve Linux için OpenCV Kurulumu
- Eclipse, Netbeans ve Android Studio Yapılandırması
Temel Kavramlar
- Temel Dijital Görüntü İşleme Kavramları
- Renk Uzayları (RGB, HSV, CMYK, Grayscale)
- Dosya Sisteminden Görüntü Okuma
- Video Aygıtlarından Görüntü Okuma
- IP Kameradan Görüntü Okuma
- Görüntü Yazma (VideoWriter)
- Piksel İşlemleri
- Matris Üzerinde Çizim İşlemleri
- Görüntü Kırpma
Filtreler ve Morfolojik Operatörler
- Erosion (Aşındırma)
- Dilation (Yayma/Genişletme)
- Opening (Açınım)
- Closing (Kapanım)
- Morphological Gradient
- Top Hat
- Thresholding (Eşikleme)
- Blur, GaussianBlur, Laplace, Sobel Filtreleri
- Arka Plan Temizleme
Nesne Tespit ve Tanıma
- Template Matching ile Nesne Tespiti
- Renk Tespiti ve Obje Takibi
- Haar Cascade Classifier
- Yüz ve Göz Tespiti
- Yüz Tanıma (Eigenfaces, Fisherfaces, LBPH)
- Algoritmaların Eğitilmesi
Örnek Kod
Kitapta yer alan örnek bir Java kodu:
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class ImageReader {
public static void main(String[] args) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// Görüntü okuma
Mat image = Imgcodecs.imread("resim.jpg");
System.out.println("Genişlik: " + image.cols());
System.out.println("Yükseklik: " + image.rows());
System.out.println("Kanal Sayısı: " + image.channels());
}
}
Ek Kaynaklar
Daha fazla örnek ve güncel içerik için:
- 🔗 GitHub - Computer Vision Guide - Kapsamlı görüntü işleme rehberi
- 🔗 OpenCV Resmi Dokümantasyon
- 📧 Sorularınız için: mesutpiskin@outlook.com
Bu kitap BSD lisansı altında ücretsiz olarak sunulmaktadır. Eğitim amaçlı kullanabilir, paylaşabilirsiniz.