Her fani bilgisayar mühendisliği öğrencisi bir gün çok bilmiş birisi tarafından “yav şu opencv varya çok acaip yeuw” lafını duyacaktır.
Peki nedir bu OpenCV? İşte dilim döndüğünce bir şeyler karalayacağım bu blog postta. İyi okumalar.
OpenCV veya Open Source Computer Vision, resmi tanımı ile, resimler ve videolarla çalışmak için güçlü bir araçtır. Görüntü işleme, bilgisayar görüşü ve makine öğrenimi için geniş bir işlevsellik yelpazesi sağlayan açık kaynaklı bir kitaplıktır. OpenCV ( Open Source Computer Vision Library) ilk olarak 1999 yılında Intel tarafından yayınlandı.
Intel’in Rusya’daki araştırma laboratuvarında (ki bu laboratuvar ayrı bir gönderi konusu, Pentium işlemcilerden tutun da aklınızı alacak pek çok şey bu labatuvardan çıkmıştır) bilgisayarlı görü üzerinde çalışan bir grup araştırmacı ve mühendis tarafından geliştirilmiştir. Kitaplık, bilgisayarlı görü görevleri için açık kaynaklı ve kapsamlı bir araç olacak şekilde tasarlandı ve o zamandan beri dünyanın en yaygın kullanılan ve popüler bilgisayarlı görü kitaplıklarından biri haline geldi.
OpenCV’nin ilk sürümü, görüntü filtreleme, özellik algılama ve nesne izleme gibi görüntü işleme ve bilgisayarla görme görevleri için bir dizi temel işlev içeriyordu. Yıllar geçtikçe kitaplık, makine öğrenimi, derin öğrenme, 3B yeniden yapılandırma ve video işleme gibi çok çeşitli ek özellik ve yetenekleri içerecek şekilde büyüdü.
OpenCV, güvenlik sistemleri, sürücüsüz arabalar, artırılmış gerçeklik, tıbbi görüntüleme ve robotik dahil olmak üzere çeşitli uygulamalarda kullanılmıştır. Akademik araştırmalarda da yaygın olarak kullanılmaktadır ve birçok üniversite ve araştırma kurumu tarafından bilgisayarla görü eğitimi için bir araç olarak benimsenmiştir.
OpenCV ilk büyük adımını 2013 yılında aldı. GPU hızlandırma, geliştirilmiş makine öğrenimi ve derin öğrenme desteği ve yeni bir C++ API gibi yeni özellikleri içeren büyük bir güncelleme olan sürüm 2.4 aldı. 2015’de, C++ API’sinde büyük bir güncelleme, iyileştirilmiş performans ve derin öğrenme için DNN modülü ve OpenVX hızlandırma desteği gibi yeni işlevler içeren OpenCV 3.x piyasaya sürüldü.
2018 yılında, yeni bir modüler yapıya, iyileştirilmiş performansa, yeni işlevselliğe ve OpenCL, CUDA ve CUDA DNN gibi yeni teknolojiler için ek desteğe sahip OpenCV 4.x piyasaya sürüldü. Bugün hala 4.x altında ilerleyen OpenCV’nin çok yakında 5.x sürümünü göreceğiz.
OpenCV, geniş ve büyüyen bir geliştiriciler ve araştırmacılar topluluğu tarafından aktif olarak geliştirilmekte ve sürdürülmektedir ve sürekli eklenen yeni özellikler ve yeteneklerle gelişmeye ve gelişmeye devam etmektedir.
Avantajlar
Şimdiii, gel gelelim kuru fasulyenin faydalarına. OpenCV kullanmanın ana avantajlarından biri, çok çeşitli görüntü ve video formatlarıyla çalışabilmesidir. JPEG, PNG ve BMP dahil olmak üzere birçok farklı dosya biçimindeki görüntüleri okuyabilir ve yazabilir. Ayrıca AVI, MP4 ve MPEG dahil olmak üzere çok çeşitli video formatlarını destekler.
OpenCV’nin bir başka vitamini de çok çeşitli görüntü işleme işlemlerini gerçekleştirebilmesidir. Kırpma, yeniden boyutlandırma ve renk ayarlamaları gibi temel işlemleri saymıyorum bile. Görüntü filtreleme, nesne algılama ve görüntü tanıma gibi daha gelişmiş görüntü işleme özelliklerinden görüntü ve video işleme için çok çeşitli makine öğrenimi algoritmalarına kadar pek çok ek özellik sağlar. TensorFlow ve Caffe gibi popüler makine öğrenimi kitaplıklarıyla entegre edilerek nesne algılama, yüz tanıma ve görüntü sınıflandırma gibi çeşitli görevler için çok çeşitli önceden eğitilmiş modeller sunar.
Ayrıca OpenCV ile kendi modellerinizi kolayca eğitebilir ve uygulamanızda kullanabilirsiniz. OpenCV, güvenlik sistemleri, robotik ve otonom araçlar dahil olmak üzere çeşitli uygulamalarda yaygın olarak kullanılmaktadır. Bak uzun uzun saymaya devam ederim de dilim ağrıdı artık. Kütüphane sürekli olarak güncellenmekte ve geliştirilmekte ve sürekli olarak yeni işlevler ve yetenekler eklenmektedir. Ve açık kaynak oluşu sebebiyle sizler gibi zeki mühendislerin geliştireceği özelliklerle bir isveç çakısı gibi yeni özelliklere sahip olabilecektir.
Sonuç
Genel olarak OpenCV, resimler ve videolarla çalışmak için güçlü bir araçtır ve birçok uygulamada yaygın olarak kullanılmaktadır. Görüntü işleme, bilgisayar görüşü ve makine öğrenimi için geniş bir işlevsellik yelpazesi sunar ve geniş ve aktif bir geliştiriciler ve kullanıcılar topluluğu tarafından desteklenir. Her zamanki huyum, 3–5 link bırakıp bir başka blog post’a kadar ortalardan kayboluyorum.
Kaynaklar
- OpenCV belgeleri ( https://docs.opencv.org/ ) — kitaplık tarafından sağlanan işlevler ve sınıflar hakkında ayrıntılı bilgiler içeren kitaplığın resmi belgeleri.
- PyImageSearch ( https://www.pyimagesearch.com/ ) — Python kullanımına odaklanarak OpenCV ve diğer bilgisayarla görme araçlarını kullanma hakkında eğitimler ve makaleler sağlayan bir web sitesi.
- Eğitim Noktası ( https://www.tutorialspoint.com/opencv/index.htm )
- LearnOpenCV ( OpenCV’ye Başlarken LearnOpenCV )