2016-12-31 6 views
1

Я запускал простую программу по чтению видеофайла (формат .mp4) и записывал его обратно после инвертирования каждого фрейма. Я получаю сообщение об ошибке и предупреждение об ошибке.Ошибка при записи видео в OpenCV3 с помощью Python

Error in CoreDragRemoveTrackingHandler: -1856

Я использую Эль-Капитан OSX, я установил виртуальную среду питона использовать Python 3.5 с OpenCV 3.2.0-RC. Может ли кто-нибудь помочь мне с этим?

Благодаря

import numpy as np 
import cv2 
cap = cv2.VideoCapture('Root.mp4') 
# Define the codec and create VideoWriter object 
#fourcc = cv2.VideoWriter_fourcc(*'AVRN') 
#out = cv2.VideoWriter('Root1.mp4',fourcc, 20.0, (640,360)) 
fourcc = cv2.VideoWriter_fourcc(*'MJPG') 
out = cv2.VideoWriter('Root1.avi',fourcc, 20.0, (640,360)) 
while(cap.isOpened()): 
    ret, frame = cap.read() 
    if ret==True: 
     frame = cv2.flip(frame,0) 

     # 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() 
+0

всегда помещают текст вместо скриншота - теперь никто не может скопировать-вставить свой код, чтобы протестировать его и внести изменения. – furas

+0

ОК. Благодарю. Я изменю его –

+0

возможно спросить на [вопросы OpenCV] (https://github.com/opencv/opencv/issues) – furas

ответ

0

Одна вещь, которую я могу вам сказать, что нет никаких проблем в сценарии вы говорили выше: р, он работает нормально в моей системе. Переустановите opencv и python в новую виртуальную среду.

0

Попробуйте это:

cap = cv2.VideoCapture(0) 
fps = 15 
capSize = (1280, 720) 
#print cap.get(3) 
#print cap.get(4) 
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') 
out = cv2.VideoWriter('output.mov',fourcc, fps, capSize, True) 

Это работает для меня, так что я надеюсь, что это помогает!

 Смежные вопросы

  • Нет связанных вопросов^_^