我正在尝试在 macOS 10.12.6 上运行 opencv-python==3.3.0.10 以从文件中读取并在窗口中显示视频。我已经从这里完全复制了代码http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_video_display/py_video_display.html,“播放”文件中的视频部分。
代码正确运行并显示视频,但是在视频终止后它会破坏程序,并出现以下错误:
断言失败:(ec == 0),函数解锁,文件 /BuildRoot/Library/Caches/com.apple.xbs/Sources/libcxx/libcxx-307.5/src/mutex.cpp,第 48 行。
有谁知道可能导致这种情况的原因?
为您提供方便的代码片段(已编辑以在评论中包含一些建议)
cap = cv2.VideoCapture('vtest.avi')
while(True):
ret, frame = cap.read()
if not ret:
break
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()