使用Python在OpenCV3中编写视频时出错

使用Python在OpenCV3中编写视频时出错,python,python-3.x,opencv,computer-vision,opencv3.0,Python,Python 3.x,Opencv,Computer Vision,Opencv3.0,我正在运行一个简单的程序,读取视频文件(.mp4格式),并在反转每一帧后将其写回。我得到一个错误和一个bug警告 BUG:当前事件队列和主事件队列不相同。事件将无法正确处理。这可能是因为第一次从主线程调用了_TSGetMainThread。 CoreDragRemoveTrackingHandler中出现错误:-1856 我使用的是El Captain OSX,我已经安装了python虚拟环境来使用带有OpenCV 3.2.0-rc的python 3.5。有人能帮我吗 谢谢 import num

我正在运行一个简单的程序,读取视频文件(.mp4格式),并在反转每一帧后将其写回。我得到一个错误和一个bug警告

BUG:当前事件队列和主事件队列不相同。事件将无法正确处理。这可能是因为第一次从主线程调用了_TSGetMainThread。

CoreDragRemoveTrackingHandler中出现错误:-1856

我使用的是El Captain OSX,我已经安装了python虚拟环境来使用带有OpenCV 3.2.0-rc的python 3.5。有人能帮我吗

谢谢

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

似乎通过使用--with ffmpeg标志重新安装opencv3得到了修复


有一件事我可以告诉你,上面提到的脚本没有问题:p,它在我的系统上运行良好。在新的虚拟环境中重新安装opencv和python。

尝试以下操作:

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)

它对我有用,所以我希望它能帮助你

总是用文本代替屏幕截图-现在没有人可以复制粘贴你的代码来测试它并进行修改。好的。谢谢我会换的,也许可以问一下