Skip to content

📖 This guide is to help you understand the basics of the computerized image and develop computer vision projects with OpenCV. Includes Python, Java, JavaScript, C# and C++ examples.

License

Notifications You must be signed in to change notification settings

mesutpiskin/computer-vision-guide

Repository files navigation

English | Türkçe

Gitter MIT licensed Video

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. Talep veya öneriniz varsa iletişime geçmekten çekinmeyin. İletişime geçmek için web sitem veya e-posta bilgilerini kullanabilirsiniz. Teşekkürler!

Görüntü İşleme ve Bilgisayarlı Görü Kılavuzu

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.

Dokümantasyon

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.

Örnek Projeler

 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        

Destek

Katkıda bulunmayı düşünmeniz gerçekten çok güzel bir haber, bunun için DESTEK bağlantısına göz atabilirsiniz.

Soru & Cevap

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.

Lisans

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.