2014-10-01 8 views
5

मैं पाइथन (2.7) में नया हूं और मैं वीडियो प्रोसेसिंग (मॉड्यूल ओपनसीवी "सीवी 2" के साथ) पर काम करने की कोशिश करता हूं। ट्यूटोरियल से शुरू करना, मैं this tutorial की लिपि का उपयोग करने का प्रयास करता हूं: अनुच्छेद "एक वीडियो सहेजा जा रहा है"। सबकुछ ठीक काम करता है सिवाय इसके कि जो वीडियो मैं सहेज रहा हूं वह खाली हैमैं अपनी निर्देशिका में output.avi पा सकता हूं लेकिन इसकी मेमोरी आकार 0kb है, निश्चित रूप से जब मैं इसे चलाता हूं, तो कोई वीडियो प्रदर्शित नहीं होता है।ओपनसीवी के साथ पाइथन में एक वीडियो कैप्चर सहेजना: खाली वीडियो

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

क्या किसी को पता है कि क्यों यह ठीक से काम नहीं कर रहा है:

यहाँ कुछ बदलावों के बाद मेरी कोड है?

बहुत बहुत धन्यवाद। एडविन

उत्तर

4

मैं openCV साथ काम नहीं है, लेकिन मुझे यकीन है समस्या

cap = cv2.VideoCapture(0) 

में यह VideoCapture विधि http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture

शायद तुम भी ऐसा ही करने की कोशिश कर सकते की एक सी संस्करण है।

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

संपादित करें: बस पाइथन और ओपनसीवी डाउनलोड किया गया और पता चला कि समस्या कोडेक थी। के लिए

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

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

बदल सकते हैं और हाथ से कोडेक का चयन करने के लिए प्रयास करें।

+0

सौरुक्सम के लिए: हाय, आपके उत्तर के लिए धन्यवाद। मैंने यह कोशिश की, Cap.isOpened() वास्तव में सच देता है। मैं लाइव में कैप्चर भी देख सकता हूं ताकि यह लूप में हो। फिर भी आपका धन्यवाद। यह समस्या हो सकती थी। – probaPerception

+0

क्षमा करें। मैं गूंगा हूँ और मैंने नहीं देखा कि आपने वास्तव में उस विधि का उपयोग किया था। लेकिन फिर भी, अगर आपने उस विधि को पारित किया है (आप कैमरा प्रतिक्रिया देख सकते हैं) और आपको कोई वीडियो फ़ाइल नहीं मिल रही है तो लूप पर कुछ काम नहीं कर रहा है। ऐसा नहीं है कि आप एक बैक वीडियो श्वेत एक्स फ्रेम प्राप्त कर रहे हैं; फ़्रेम को फ़ाइल पर सहेजा नहीं जा रहा है, इसलिए आपके पास 0kB फ़ाइल है। या कोडेक हो सकता है? –

+0

सौरुक्सम के लिए: आप सही हैं। लूप में कुछ गड़बड़ है। यह लूप में मिलता है लेकिन बचा नहीं है। मुझे कोडेक के बारे में कुछ नहीं पता। यह क्या है ? इसके साथ क्या गलत हो सकता है? खुश होती है। – probaPerception

0

आउटपुट रिज़ॉल्यूशन इनपुट से अलग हो सकता है। टोपी की चौड़ाई और ऊंचाई की जांच करें।

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

या तो अपना कैमरा या आउटपुट रिज़ॉल्यूशन बदलें।

संबंधित मुद्दे