2017-01-10 11 views
7

Python'da yazdığım opencv programında Facetime HD kameramın pozlamasını manüel olarak nasıl ayarlayacağımı anlamaya çalışıyorum. opencv sürüm 3.2.0, python 2.7 kullanıyorum ve OSX El Capitan'da çalışıyorum.Python'da bir Facetime HD kamerada pozlama manuel olarak nasıl ayarlanır 3.2.0 OSX El Capitan

Web kamerasından her n saniyede bir fotoğraf çekecek ve diske yazacak bir program yazıyorum. Dokümanlarda gördüğüm kadarıyla, kameramdaki pozlamayı ayarlamak için bu yöntemi kullanmak isterim. Garip nedir

cv2.CAP_PROP_EXPOSURE

şöyledir:

cv2.VideoCapture.set(CV_CAP_PROP_EXPOSURE, value) → retval

bazı müdahalesi sonrasında ve çevrimiçi etrafa, ben şu kullanarak opencv benim sürümünde bu kamera özelliğine erişmek mümkün oldu bulundu Fotoğrafı gerçekte yakalayan fonksiyonumda, varsayılan pozlama değerinin 0,0 olduğunu görebiliyorum ve sonra set yöntemiyle değiştirmeye gittiğimde, değeri tekrar kontrol ettiğimde pozlama değişmedi. Belirlenen yöntemin çalışmadığı anlaşılıyor. Bu kamera manuel pozlama kontrolü ile uyumlu olmadığını sadece durum

def takePhoto(): 
    cam = cv2.VideoCapture(0) 
    print(cam.get(cv2.CAP_PROP_EXPOSURE)) #this prints out 0.0 
    cam.set(cv2.CAP_PROP_EXPOSURE, 0.5) 
    print(cam.get(cv2.CAP_PROP_EXPOSURE)) #this also prints out 0.0, despite the use of set() in the line above 
    s, im = cam.read() # captures image 
    cv2.imwrite("test.jpg",im) # writes image test.jpg to disk 
    cam.release() 

mi: İşte

benim fonksiyonudur? Ayrıca OSX'teki opencv'un kameraların özelliklerini manuel olarak kontrol etmesine izin vermediği bir veya iki yerde okudum. Burada sorun nedir? Yoksa set yöntemini yanlış mı kullanıyorum? Programım tarafından çekilen fotoğraflar sürekli olarak düşük pozlama olduğundan, pozlamayı manuel olarak kontrol edebilmem gerekiyor.

sayesinde Brian

cevap

0

Bir FacetimeHD Kamera yok ama ben kullanmakta (otomatik pozlama devre dışı) manuel pozlama modunu gerekiyor galiba

cam.set(cv2.CAP_PROP_AUTO_EXPOSURE, 0)

İlgili konular