Live CV

Live CV Dinu SV tarafından geliştirilen açık kaynak kod bir geliştirme ortamı. Geliştirme ortamı diyorum çünkü farklı bir görüntü işleme kütüphanesi olarak düşünülmemeli. Live CV QML (Qt Meta Language veya Qt Modeling Language) dili ile json benzeri bir yapıda geliştirme yapmayı sağlayan OpenCV wrapperı. QML ile json formatındaki elementler şeklinde OpenCV fonksiyonları kullanılabiliyor. Hızlı prototipleme, yeni başlayanlar için OpenCV’yi kavrama veya akademik çalışmalar için oldukça kullanışlı bir ortam sunuyor. Live CV bir geliştirme ortamı ile birlikte geliyor bu geliştirme ortamı oldukça basit şekilde tasarlanmış ve yazdığınız kodun aynı anda çıktısını da görmenize olanak veriyor.

Live CV geliştirme ortamını buradan indirebilirsiniz, github depolarına ise buradan ulaşabilirsiniz. Windows, Linux ve MacOS platformları için çalıştırılabilir durumdadır, diğer platformlar için kaynak kodunu indirerek derleyebilirsiniz.  Live CV’yi çalıştırdığınızda aşağıdaki gibi bir IDE sizi karşılıyor olacak. Sol tarafta QML ile geliştirmelerimizi yapacağız sağ tarafta ise yazdığımız kodun anlık olarak çıktısını görebileceğiz. Örneğin görüntü üzerine uyguladığınız bir thresholdingi aynı t anında görebiliyorsunuz, sadece görseller için değil videolar içinde bu durum geçerlidir.

Basit bir örnek yapalım,

OpenCV de blur filtresi görüntüyü bulanıklaştırmak için kullanılır. Uygulamak için ise blur() metodu kullanılır. Bu metot parametre olarak kaynak görüntü mat nesnesi tipinde, mat tipinde bir sonuç ve Size tipinde uygulanacak olan bulanıklık değerini almaktadır.(çekirdek boyutu olarak da adlandırılır). Kullanımı ise aşağıdaki gibidir.

Imgproc.blur(kaynakGoruntu, hedefGoruntu, new Size(50,50));

Live CV ile aynı işlemi yapmak istediğimizde ise QML kodumuz aşağıdaki gibi olacaktır.

import lcvcore 1.0
import lcvimgproc 1.0

Row{
    
 
    ImRead{
       id : src
       file : 'D:/test.jpg'
    }
    
    Blur{
        input : src.output
        anchor : Qt.point(3, 3)
        ksize : "5x5"
    }
}

Görüntünün dosya sisteminden okunması ve filtrenin uygulanması bir akış şeklinde elementler ile temsil edilmektedir. Aynı değerler ile tanımlanan fonksiyonda sonuç matrisi bire bir aynı olacaktır.

LiveCV Geliştirme Ortamı

 


Yararlanabileceğiniz Kaynaklar
  • http://www.rsipvision.com/ComputerVisionNews-2016October/#10
  • http://livecv.dinusv.com/documentation/