OpenCv Nedir ?
OpenCV (Open Source Computer Vision) açık kaynak kodlu görüntü işleme kütüphanesidir.
Başlangıçta İntel’in Nizhny Novgorod’daki (Rusya) araştırma merkezi tarafından geliştirilen bu proje daha
sonra Willow Garage tarafından desteklendi ve şu anda Itseez tarafından sağlanmaktadır.
Kütüphane, çapraz platform olup, açık kaynak BSD lisansı altında ücretsiz olarak kullanılabilir.İlk etapta C programlama dili ile geliştirilmeye başlanmış ve daha sonra birçok algoritması C++ dili ile geliştirilmiştir. Genel olarak birçok konuda hazır fonksiyon bulunduran bu kütüphane açık kaynaklı olması diğer dillere göre avantaj sağlamıştır. OpenCV platform bağımsız bir kütüphanedir, bu sayede Windows, Linux, FreeBSD, Android, Mac OS ve iOS platformlarında çalışabilmektedir.
OpenCv Nerede Kullanılıyor ?
- Nesne tanıma
- Yüz tanıma
- Hareket algılama
- Geometrik şekil algılama
- Kamera kalibrasyonu vb. birçok uygulama gerçekleştirilebiliyor.
Opencv Bileşenleri Nelerdir ?
OpenCV modüler bir yapıya sahiptir, bu da pakete birden fazla paylaşılan veya statik kütüphane dahildir. Aşağıdaki modüller mevcuttur:
Core :
Yoğun çok boyutlu dizi Mat ve diğer tüm modüller tarafından kullanılan temel işlevler de dahil olmak üzere temel veri yapılarını tanımlayan kompakt bir modül.
Imgproc :
Doğrusal ve doğrusal olmayan görüntü filtreleme, geometrik görüntü dönüşümleri (yeniden boyutlandırma, afin ve perspektif çözme, jenerik tablo tabanlı yeniden eşleme), renk uzayı dönüştürme, histogramlar ve benzeri içeren bir görüntü işleme modülü.
Video :
Hareket tahmini, artalan çıkarma ve nesne izleme algoritmalarını içeren bir video analiz modülü.
Calib3d :
Temel çoklu görünüm geometrisi algoritmaları, tek ve stereo kamera kalibrasyonu, nesne poz tahminleri, stereo yazışmalar algoritmaları ve 3D yeniden yapılandırma öğelerini içeren modül.
Features2d :
OpenCV’de bulunan özellik noktaları dedektörlerini, tanımlayıcıları ve eşleme çerçevesini yapılmasını sağlar.
Objdetect :
Nesnelerin algılanması ve önceden tanımlanmış sınıfların örnekleri (örneğin, yüzler, gözler, kupalar, insanlar, arabalar, vb.) sağlayan modül.
Highgui :
Resim görüntüleme, pencereleri yönetme ve grafiksel kullanıcı arabirimleri için gerekli olabilecek metotları barındırır. 3.0 öncesi sürümlerde dosya sistemi üzerinden resim dosyası okuma ve yazma işlemlerini yerine getiren metotları barındırmaktadır.
Videoio :
Kameralara ve video cihazlarına erişmek ve görüntü almak ve görüntü yazmak için gerekli metotları barındırır.
Imgcodecs:
Dosya sistemi üzerinden resim ve video okuma/yazma işlemlerini yerine getiren metotları barındırmaktadır.