English | Türkçe
Bu eğitim, bilgisayarlı görünün temellerini anlayabilmenizi ve OpenCV ile bilgisayarlı görü uygulamaları geliştirebilmenizi amaçlamaktadır. Python, Java, JavaScript, C# ve C++ örnekleri ile desteklenmektedir.
OpenCV ile bilgisayarlı görü ve görüntü işleme eğitim dokümanı ile birlikte, görüntü işleme algoritmalarını öğrenecek, yeri geldiğinde ise Java, Python , C++, JavaScript (OpenCV.JS), MATLAB ve C# (EmguCV) programlama dilleri kullanarak örnek uygulamalar geliştireceğiz. Bu eğitim, bilgisayarlı görünün temellerini anlayabilmenizi ve OpenCV ile bilgisayarlı görü uygulamaları geliştirebilmenizi amaçlamaktadır. Python, Java ve C++ örnekleri ile desteklenmektedir. Bu doküman, daha önce görüntü işleme ile uğraşmamış, bu konuda bilgisi olmayanlara ve tam aksine bu konuda bilgili, kendinisini farklı konularda geliştirmek isteyen herkese hitap edecek şekilde hazırlanmıştır. Temel tanımlardan başlanarak birçok kavram ve algoritma ele alınmıştır. Örnek projelere code dizininden, eğitim konularına ise docs dizini altından ulaşabilirsiniz, ayrıca dokümantasyon içerisinde kullanılan İngilizce terimlerin Türkçe karşılıklarının yer aldığı terimler sayfasına, konu ile alakalı önerilen tavsiye içeriklere ise tavsiye icerik sayfasından ulaşabilirsiniz.
★★ Projelere finansal destek olmak isterseniz Patreon üzerinden bunu yapabilirsiniz. Destek olmayı düşünmüyorsanız bile göz atamınızdan memnun olurum. ★★
★★★ Talep veya öneriniz varsa iletişime geçmekten çekinmeyin. İletişime geçmek için Gitter veya eposta bilgilerini kullanabilirsiniz. Teşekkürler! ★★★
Bölüm | Özet |
---|---|
OpenCV Nedir? | OpenCV'nin tarihi ve bileşenleri, alternatif görüntü işleme kütüphaneleri, neden OpenCV, OpenCV 2 vs OpenCV 3 ve OpenCV 4 ile gelecek yenilikler. |
Geliştirme Ortamı ve Platformlar | Hangi platform ve geliştirme ortamı seçilmeli, görüntü işleme için neden Java, C++ ve Python kullanılıyor. |
OpenCV Wrappers | Wrapper nedir? EmguCV, JavaCV, LiveCV, RubyCV nedir ve wrapperlar arası farklar nelerdir. |
Kurulum ve Derleme | Windows, Linux, macOS ve Raspberry Pi için OpenCV kurulumu. |
IDE Yapılandırması | Eclipse, Netbeans, Android Studio ve Intelij IDEA için yapılandırma ayarları. |
Giriş ve Temel Kavramlar | Görüntü işleme kavramları. Dosyadan, kameradan, IP kameradan görüntü okuma. Kamera parametrelerini değiştirme. |
Video Kaydediciler ve Kod Çözücüler | Codec, FourCC ve video kaydetme. |
Görüntü Manipülasyonu | Piksel manüpülasyonu, geometrik çizimler ve geometrik dönüşümler. |
Renk Uzayları ve Histogram | Temel renk uzayları, renk uzayları arası dönüşüm. Histogram kavramı ve histogram eşitleme. |
Morfolojik Görüntü işleme | Morfolojik operatörler ve eşikleme: Erosion, dilation, closing, gradyan, thresholding ... |
Filtreler ve Kenar Belirleme | Filtreleme ve kenar belirleme algoritmaları: Blur, Sobel, Laplace, Canny ... |
Arkaplan Çıkarma | Absdiff, MOG, MOG2 ve GMG algoritmaları kullanarak, 2D görüntü arkaplan çıkarımı. |
Nesne Tespiti ve Nesne Tanıma | Nesne tespit süreçleri ve algoritmaları. HaarCascade, TemplateMatching, DNN, CNN, SVM Makine Öğrenmesi ve Derin Öğrenme algoritmaları ... |
Öznitelik ve Öznitelik Çıkarımı | Öznitelik tanımı, nesne tespiti için öznitelik çıkarmı ve öznitelik eşleştirme. Brute-Force, FLANN, SURF, SIFT, BRIEF, ORB, FAST algoritmaları ... |
Video Analiz ve Nesne Takibi | Mean Shift, Cam Shift, Optik akış, GOTURN, BOOSTING, MIL, CNN vb. algoritmalar ile video üzerinde nesne veya alan takibi. |
Görüntü Bozulmaları ve Stereo Görü | Görüntü bozulmaları ve kamera kalibrasyonu, 3D görüntüler, derinlik kestirimi, stereoscopic vision ve stereo görüntü işleme. |
Yüz Tanıma | Yüz tanıma nedir? Eigenfaces, Fisherfaces, LBPH ve makine öğrenmesi algoritmaları ile yüz tanıma. Farklı kütüphane entegrasyonları (dlib, tensorflow ve face recognition). |
Optik Karakter Tanıma OCR | Görüntü üzerindeki metnin tespit edilmesi. OCR süreçleri, algoritmalar ve kütüphaneler. Tesseract, textocr... |
GPU ve Paralel Hesaplama | Cuda modülü ile Nvidia GPU üzerinde paralelleştirilmiş bilgisayarlı görü uygulamaları geliştirme. |
OpenCV Mobil | Android ve iOS işletim sistemine sahip mobil cihazlar üzerinde bilgisayarlı görü ve görüntü işleme. |
Artırılmış Gerçeklik | 3D modelleri kamera aracılığıyla elde edilmiş gerçek dünya görüntüsü üzerine giydirme. OpenCV ve OpenGL entegrasyonu. İnteraktif bilgisayarlı görü uygulaması geliştirme. |
Konu | Python | Java | C++ | C# | JavaScript |
Video I/O | |||||
Görüntü Manipülasyonu | |||||
Renk Uzayları | |||||
Morfolojik Görüntü İşleme | |||||
Filtreler | |||||
Kenar Çıkarma | |||||
Arka Plan Çıkarma | |||||
Video Analiz ve Nesne Takibi | |||||
Nesne Tespiti ve Nesne Tanıma | |||||
Öznitelik Çıkarımı | |||||
Kamera Kalibrasyonu ve 3D Görü | |||||
Makine Öğrenmesi ve Derin Öğrenme | |||||
Yüz Tanıma | |||||
Optik Karakter Tanıma OCR | |||||
GPU ve Paralel Hesaplama | |||||
OpenCV Mobil | |||||
Arttırılmış Gerçeklik ve Görüntü Harmanlama |
Katkıda bulunmayı düşünmeniz gerçekten çok güzel bir haber, bunun için DESTEK bağlantısına göz atabilirsiniz.
Dokümanlar, kaynak kodlar veya her hangi bir konuda ki sorularınızı issues bölümünü kullanarak sorabilirsiniz (new issues). Soru cevaplamak veya daha öncekilere göz atmak isterseniz yine bu bölümü kullanabilirsiniz.
Nasıl Soru Sorulur?
Öncelikle issues bölümüne gidiniz. Sayfanın sağında yer alan new issues butonuna tıklayın. Açılan ilgili bölüme sorunuzu veya talebinizi açıklayıcı bir şekilde yazarak Submit new issues butonu aracılığıyla kaydedin.
Bu proje içerisinde yer alan doküman ve kaynak kodlar MIT Lisansı ile lisanslanmıştır. İçeriğin kaynak gösterilmeden kullanılması durumunda bu kişiler/kurumlar bu bölümde paylaşılacaktır.