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()
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