私は彼らに、Gstreamer Hayo で opencv を実装する必要があることを伝えますが、パイプ gstreamer で opencv を使用して記述する方法は必要ありません。アイデアは、OpenCV を介して画像と Web カメラを取得し、いくつかのフィルターを処理しますが、GStreamer を使用することです。
また、v4l2src device = / dev / video1 からデータを取得するように VideoCapture () に指示したい場合、または v4l2src device = / dev / video0 への書き込みに失敗した場合 (Linux を使用し、disp 仮想ビデオ video0 があります) がスローされます。私に次のエラー
GStreamer: 関数 cvCaptureFromCAM_GStreamer の手動パイプラインで appsink が見つかりません
import cv2
cv2.namedWindow('webCam')
cap = cv2.VideoCapture(1) # "v4l2src device=/dev/video1"
# cap.open("img/bg.avi")
if cap.isOpened():
ret, frame = cap.read()
else:
ret = False
print "problema aqui?"
while True:
#se toma cada frame
ret,frame = cap.read()
frame = cv2.flip(frame,1)
cv2.imshow('webCam', frame)
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
# cv2.imwrite("/dev/video0", frame)
fourcc = cv2.VideoWriter_fourcc('m','p','4','v')
pathVid = "/dev/video0" # 'img/output2.avi'
# out = cv2.VideoWriter(pathVid, fourcc, 30, (width,height))
out = cv2.VideoWriter(pathVid, fourcc, 30, (640,480))
out.write(frame)
cv2.VideoWr
esc = cv2.waitKey(5) & 0xFF == 27
if esc:
break
cap.release()
cv2.destroyAllWindows()