2014-10-01 24 views
5

Python'da (2.7) yeniyim ve video işlemede (openCv "cv2" modülüyle) çalışıyorum. Öğreticilerle başlayarak, "Video kaydetme" paragrafı this tutorial: paragrafını kullanmaya çalışıyorum. 'un kaydettiğim video boş olduğu boştur. Çıkışı.avi'yi dizinimde bulabilirim ancak bellek boyutu 0kb ve tabii ki çalıştırdığımda video görüntülenmiyor. Düzgün çalışmıyor nedenOpenCV ile python'da video çekimi kaydediliyor: boş video

import numpy as np 
import cv2 

cap = cv2.VideoCapture(0) 

# Define the codec and create VideoWriter object 
#fourcc = cv2.VideoWriter_fourcc(*'DIVX') 
fourcc = cv2.cv.CV_FOURCC(*'DIVX') 
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480)) 

while(cap.isOpened()): 
    ret, frame = cap.read() 
    if ret==True: 

     # write the flipped frame 
     out.write(frame) 

     cv2.imshow('frame',frame) 
     if cv2.waitKey(1) & 0xFF == ord('q'): 
      break 
    else: 
     break 

# Release everything if job is finished 
cap.release() 
out.release() 
cv2.destroyAllWindows() 

bilen var mı: Burada birkaç değişikliklerden sonra

benim kodudur?

Çok teşekkürler. Edwin

cevap

4

Ben OpenCV ile hiç çalışmamış, ama sorun bu http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture

Belki aynı şeyi deneyebilirsiniz VideoCapture yönteminin C versiyonu

cap = cv2.VideoCapture(0) 

olduğunu bahis.

cap = cv2.VideoCapture(0) 
if (not cap.isOpened()): 
    print "Error" 

DÜZENLEME gibi bir şey: sadece Python ve OpenCV indirilen ve sorun codec oldu keşfetti.

out = cv2.VideoWriter('output.avi', -1, 20.0, (640,480)) 

için

out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480)) 

değiştirmek ve elle codec'i seçmek için deneyin.

+0

Sauruxum'a: Merhaba, Cevabınız için teşekkürler. Bunu denedim, Cap.isOpened() aslında True döndürür. Yakalamayı canlı olarak bile görebiliyorum, böylece döngü içinde olsun. Yine de teşekkürler. Sorun bu olabilirdi. – probaPerception

+0

Üzgünüm. Ben aptalım ve görmedim, gerçekten bu yöntemi kullandın. Ama yine de, bu yöntemi (kamera geri bildirimini görebilirsiniz) geçtiyseniz ve video dosyası almıyorsanız, döngüde bir şey çalışmıyor. Bir arka video beyaz X kareleri almak gibi değil; çerçeveler dosyaya kaydedilmiyor, böylece 0kB dosyanız var. Ya da kodek olabilir mi? –

+0

Sauruxum'a: Haklısınız. Döngüde bir sorun var. Döngüye giriyor ama kaydetmiyor. Codek hakkında hiçbir şey bilmiyorum. Bu ne ? Bununla ne yanlış olabilir? şerefe. – probaPerception

0

Çıkış çözünürlüğü girişten farklı olabilir. Genişliği ve kapağın yüksekliğini kontrol edin.

size = (int(cap.get(3)), int(cap.get(4))) 

Fotoğraf makinenizi veya çıktı çözünürlüğünü değiştirin.

İlgili konular