SORU
2 Mayıs 2012, ÇARŞAMBA


Tüm bu OpenCV Python arabirimleri arasında ne fark vardır?

Vardır

  • opencv (OpenCV kitaplığı çocuklar),
  • cv (OpenCV eski kütüphane çocuklar)
  • Selefi ctypes-opencv 35*.

Temel farklar nelerdir ve hangisini kullanmalıyım?

CEVAP
3 Mayıs 2012, PERŞEMBE


Resmi olarak, OpenCV Python arayüzleri, cv cv2 iki tür bırakır.

cv:

cv üzerinde çalışmaya başladım. Bu, tüm OpenCV veri türleri gibi korunur. Yüklendiğinde, örneğin, görüntü formatı C ile aynı cvMat,.

Dizi işlemleri için cvSet2D, cvGet2D, vb gibi birçok işlevleri vardır. Ve tartışmalar, daha yavaş olduklarını söylüyorlar.

İmageROİ için cvSetImageROI gibi özel fonksiyonlar gerekir.

Eğer hatlarını, cvSeq bulursanız yapıları çok iyi değil hangi ile çalışmak için Python listeler veya NumPy diziler göre döndürülür.

(Ve sanırım yakında gelişimi durdurulacak. Daha önce, sadece cv vardı. Daha sonra, OpenCV cv cv2 ile geldi. Şimdi, orada en son sürümlerde, yalnızca cv2 modül var, ve cv cv2 içinde bir alt sınıfıdır. import cv2.cv as cv erişim aramalısın.)

cv2:

Ve en son cv2. Bu, her şeyi ndarray native Python NumPy nesneleri*23,*,dictionary, **24 vb gibi bir nesne olarak döndürülür. Yani bu NumPy desteği sayesinde, herhangi bir numpy işlemi burada yapabilirsiniz. NumPy son derece güçlü ve etkili bir dizi işleme bir kütüphane.

Bir resim yüklerseniz, örneğin, ndarray bir döndürülür.

array[i,j] (i,j) piksel değeri pozisyon verir.

Ayrıca, imageROİ için, dizi Dilimleme ROI=array[c1:c2,r1:r2] gibi kullanılabilir. Ayrı fonksiyonları gerek yok.

İki resim eklemek için herhangi bir işlev çağrısı için bir gerek yok, yap res = img1 img2. (Ama NumPy ayrıca görüntüleri gibi uint8 diziler için modül bir işlemdir. Makaleye bakınDifference between Matrix Arithmetic in OpenCV and Numpydaha çok bilmek.

Hatlarını iade Numpy diziler listesi. Kontür hakkında ayrıntılı bir tartışma bulabilirsinizContours - 1 : Getting Started.

Cv2 ile kısacası, her şey basit ve oldukça hızlı.

cv2 hızlandırmak NumPy nasıl basit bir tartışma Yığın Taşması söz konusudurPerformance comparison of OpenCV-Python interfaces, cv and cv2.

pyopencv:

Kullanmadım beri bu konuda pek bir şey bilmiyorum. Ama daha da geliştirilmesi durmuş gibi görünüyor.

Daha resmi kütüphaneler için sopa olacağını düşünüyorum.

Kısacası, cv2 kullanmanızı tavsiye ederim!

EDİT: cv2 Bu modül için yükleme işlemi görebilirsinizInstall OpenCV in Windows for Python.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Nesson

    Charles Ness

    27 NİSAN 2006
  • SignatureSeries

    SignatureSer

    24 Aralık 2006
  • TokShogun

    TokShogun

    6 HAZİRAN 2009