elektrik port üyelik servisleri elektrik port üyelik servisleri

OpenCV Nedir?

OpenCV; şirketler, araştırma grupları ve hükümet organları dahil olmak üzere 47.000'den fazla kullanıcı tarafından yaygın olarak kullanılan ve 14 milyonu aşkın indirme sayısına sahip, açık kaynak kodlu ‘Bilgisayarlı Görü’ kütüphanesidir. Bu kütüphaneyi kullanarak, hem klasik hem de son teknoloji bilgisayarlı görme ve makine öğrenimi algoritmalarıyla ilgili çalışmalar gerçekleştirebilir. Bu yazımızda, OpenCV kütüphanesini ve özelliklerini ele aldık.



A- A+
25.05.2018 tarihli yazı 23405 kez okunmuştur.
OpenCV, ilk olarak 1999 yılında Intel’in Rusya’daki laboratuvarlarında geliştirilmeye başlanılmış bir projedir. İlk zamanlarda, gerçek zamanlı ışın izleme ve 3D ekran duvarları da dahil olmak üzere bir dizi projenin bir parçası olan CPU'lu uygulamaları geliştirmek, bilgisayar görme uygulamaları için ortak bir altyapı sağlayarak ve ticari ürünlerde makine algısının kullanımını hızlandırmak için oluşturulmuştur.
 
 
OpenCV nin en büyük avantajlarından bir tanesi açık kodlu bir  kütüphane olmasıdır. Bu özelliğinden dolayı  algoritmaların üzerinde değişiklikler yapılarak geliştirilebilir. Ayrıca, BSD lisansı altında dağıtılmaktadır. BSD lisanslı bir ürün olan OpenCV, işletmelerin kodu kullanmasını ve değiştirmesini kolaylaştırır.
 
Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota gibi köklü şirketler dışında, OpenCV' yi yaygın olarak kullanan; Applied Minds, VideoSurf ve Zeitera gibi birçok yeni şirket var. Kütüphanenin içerdiği algoritmalar kullanılarak neler yapalıbilceğine bir göz atalım. İşlek bir cadde üzerine konumlandırılış denetim kamerasını düşünürsek, yol durumunu sürekli kayıt altına alabilir; ancak artık hızla ilerleyen tejknolojiyle birlikte ihtiyaç duyulan sadece devasa boyutlardaki bu görüntüyü saklamak değildir. Gerçek ihtiyacımız, trafik kurallarını ihlal eden araçların plakalarını da otonom olarak  tespit edebilmektir. 'Bilgisayarlı Görü' tam olarak bu örnek ve benzeri ihtiyaçları karşılamak için ortaya çıkan kavramlardır ve OpenCV, bu kavramları hayata geçirebilmek için en kullanışlı kütüphanelerden birisidir.

OpenCV,  yüzleri ve nesneleri algılama ve tanımlama,  videolarda insani eylemleri sınıflandırma, kamera hareketlerini ve hareketli nesneleri izleme, nesneleri 3 boyutlu modellerine ayıklama, stereo kameralardan 3D nokta bulutları üretme, görüntüleri yüksek çözünürlükte birleştirme gibi alanlarda başarılı alanlarda kullanılabilir.


►İlginizi Çekebilir: Beş Dakikada Algoritmayı Tanıyın
 
İsrail'de gözetim videosundan izinsiz girişlerin tespit edilmesi, Çin'deki maden ekipmanlarının izlenmesi, robotların Willow Garage'da nesnelerin gezinmesine ve toplanmasına yardım etmesi, Avrupa'da yüzme havuzundaki boğulma olaylarının algılanması, profesyonel cihazlardan herkesin cebinde taşıdığı mobil telefonlara kadar pek çok kaynaktan  gelen görüntülerin anlamlandırılması gibi olaylar OpenCV'nin günlük yaşama geçmiş uygulamalarına örnek olarak verilebilir.
 
OpenCV, başlangıçta C ile kodlanmaya başlanmış olmasına rağmen 2.0 versiyonundan itibaren C++  dili ile daha sağlam bir yapıya kavuşmuştur. OpenCV 3.0 ile daha modern bir C++ yapısına geçilmiştir. Kütüphane, C ++, Python, Matlab/Octave ve Java arayüzlerine sahiptir ve Windows, Linux, Android ve Mac OS'yi destekler.  OpenCV çoğunlukla gerçek zamanlı görüş uygulamalarına yönelir ve mevcut olduğunda MMX ve SSE talimatlarından yararlanır. Tam özellikli bir CUDA ve OpenCL arayüzleri şu anda aktif olarak geliştirilmektedir. 500'den fazla algoritma ve bu algoritmaları oluşturan veya destekleyen algoritmaların  yaklaşık 10 kat fazlası fonksiyon vardır. OpenCV, C ++ dilinde doğal olarak yazılmıştır ve STL kapsayıcılarla sorunsuz çalışan bir şablona sahiptir.

Ayrıca, OpenCV ‘nin geliştirilmesi ve kullanımını yaygınlaştırmak için Willowgarage ve Itseez başta olmak üzere pek çok kuruluş ve kişi tarafından da desteklenen kar amacı gütmeyen www.opencv.org adlı site geliştirilmiştir.

OpenCV  ve Ana Bileşenleri

Highgui: Görüntü ve hareketli görüntü-video ya da kamera -okuma, yazmak ve göstermek gibi işlemleri yapabileceğiniz temel fonksiyonlarından oluşur.

Core: Genel veri yapıları, görüntü üzerine çizim yapma, XML ve YAML yazma okuma işlevlerini barındırır.
 
İmgproc: Görüntü işleme ile ilgili genel fonksiyonları barındırıd.Filtreleme, geometrik ve renk uzay dönüşümleri, yapısal analiz ve şekil eşleştirme  vb. fonksiyonlarını içerir.
 
Ml: Bayes , SVm, YSA ve benzeri yapay  öğrenme algoritmalarından oluşur.

 
OpenCV 3.0 Versiyonuna Göre
Highgui: Ekranda pencereler açmak üzerinde görüntüleri göstermek gerektiğinde güncellemek; klavyeden ve fareden kullanıcı girişlerini almak gibi işleri yapan fonksiyonlardan oluşur.

İmgcodes: Görüntü yazma okuma işlemleri yapar.

Videoio: Video ya da kameradan görüntü yazma v eokuma işlemlerini yapar.

Core: Genel veri yapıları, görüntü üzerine çizim yapma , XML ve YAML yazma okuma işlevlerini barındrırır.

İmgproc: Görüntü işleme ile ilgili genel fonksiyonları barındırır. Filtreleme, geometrik ve renk uzay dönüşümleri ,yapısal analiz ve şekil eşleştirme vb. fonksiyonlarını içerir.


Ml: Bayes ,SVM,YSA ve benzeri yapay öğrenme algoritmalarından oluşur.



Kaynak:

►software.intel
►opencv.org

Serap Uygur Serap Uygur Yazar Hakkında Tüm yazıları Mesaj gönder Yazdır



Aktif etkinlik bulunmamaktadır.
ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar