2012-02-10 20 views
5

OpenCV'de yeniyim ve Python bağlayıcısını kullanmak istiyorum. OSX'te örneklerine çalışırkenNeden Python cv2 modülleri (eski) cv'ye bağlıdır

, ben

1.

) Ben gibi cv2.namedWindow, bir önceki çağrısıyla halledebiliriz

2.) boyutlandırılabilir olmayan yaratır imshow pencereleri fark ettik: cv2.namedWindow ('zoom', cv2.cv.CV_WINDOW_NORMAL)

CV_WINDOW_NORMAL gibi simgeleri cv'den cv2'ye ekleyebilir miyiz? OpenCV'nin Python bağlayıcısına hakları kimde vardır?

sayesinde Sebastian Haase

+0

Python bağlamaları, yalnızca C arabiriminin etrafındaki sarıcı olan C++ arabiriminin etrafındaki sarıcılardır. Son sorunuza gelince, OpenCV e-posta listesine bir mesaj yollayın ve onlara cevap verin :) – karlphillip

cevap

9

geçerli yeni cv2 lib bazı omisions vardır. Tipik olarak bunlar henüz cv2'ye aktarılmayan ve yalnızca cv'de olan sabitlerdir. Burada onları bulmak yardımcı olacak bazı kod şudur:

import cv2 
import cv2.cv as cv 
nms = [(n.lower(), n) for n in dir(cv)] # list of everything in the cv module 
nms2 = [(n.lower(), n) for n in dir(cv2)] # list of everything in the cv2 module 

search = 'window' 

print "in cv2\n ",[m[1] for m in nms2 if m[0].find(search.lower())>-1] 
print "in cv\n ",[m[1] for m in nms if m[0].find(search.lower())>-1] 

cv2 önceki cv daha C++ kütüphanelerini etrafında daha sadık sarıcı. İlk başta kafa karıştırıcı buldum ama değişimi yaptıktan sonra çok daha kolay. Kodun okunması daha kolaydır ve matris manipülasyonları çok hızlıdır.

Lütfen cv sabitlerini, omlowgarage'daki opencv hata izleyicisine hata olarak ihmal etmeden bildirirken bulmanızı ve kullanmanızı öneririz. cv2 taze ve nane ama geliştirecek.

FYI. Kullanımdan önce adlandırılmış pencereleri de denemeye değer, ayrıca onları çıkışta öldürüyor. IMHO

E.g.

import cv2 
if __name__ == '__main__': 
    cap = cv2.VideoCapture(0) # webcam 0 
    cv2.namedWindow("input") 
    cv2.namedWindow("grey") 
    key = -1 
    while(key < 0): 
     success, img = cap.read() 
     cv2.imshow("input", img) 
     grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
     cv2.imshow("grey", grey) 
     key = cv2.waitKey(1) 
    cv2.destroyAllWindows() 
+0

Cevabınız için teşekkürler - kim (kaç kişi) bu düzeltmeleri yapma hakkına sahip olduğunu biliyor musunuz (python ciltlemesinde)? – sebhaase

+0

hayır - özür dilerim. dev maillist'e katılmanızı/abone olmanızı ve rica etmenizi öneririz. Çok güzel yardımsever kalabalık. E-posta listesini – Neon22

+0

düzeltmek için Keen? Sourceforge'da iki tane var, aslında öldü (ayda 2 mesaj) - ve Yahoo gruplarının ana bölümü, gerçekten yavaş olan ve katıldığım son iki ayda fazla cevap alamadım (biraz önce katıldım) Ben burada soruyordum). Başka birini biliyor musun? – sebhaase

İlgili konular