我使用这段代码用PS3相机录制视频*代码是西班牙语,这就是为什么我写的" camara"而不是#34;相机"。
我正在使用Python 2.7和opencv 3.4.0.12,我假设问题是opencv的版本,但我不这么认为但是在这一点上,我不会这样做。知道什么是正确的或错的,请帮助。
当我运行它时,我得到了这个错误:
Traceback(最近一次调用最后一次):文件 " C:\ Users \ carls \ OneDrive \ Documentos \ VIDEO CAMARA PS3.py",第31行,在 camara1()文件" C:\ Users \ carls \ OneDrive \ Documentos \ VIDEO CAMARA PS3.py",第9行,在camara1中 fourcc = cv2.cv.CV_FOURCC(*" XVID")AttributeError:' module'对象没有属性' cv'
此外,当我在PS3相机中运行代码而不是录制时,我的笔记本电脑上的相机会亮起。
import numpy as np
import cv2
import random
import time
def camara1():
cap = cv2.VideoCapture(0)
fourcc = cv2.cv.CV_FOURCC(*"XVID")
size1 = (int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)) )
out = cv2.VideoWriter('output.avi',fourcc, 20.0, size1)
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
frame = cv2.flip(frame,0)
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()
camara1() #THIS IS IN THE CODE TOO, SORRY. THIS IS THE LAST CODE LINE
答案 0 :(得分:1)
使用
fourcc = cv2.VideoWriter_fourcc(*'XVID')
适合我。
Opencv 3.x版支持cv2.VideoWriter_fourcc,而2.4.x支持cv2.cv.CV_FOURCC。