我将OpenCV2与Python一起使用了一段时间,我不为什么为什么在几天之内它不适用于视频捕获。
例如,此代码有效:
>>> import cv2
>>> a = cv2.imread('./pic_video0_145.jpg')
>>> a.shape
(416, 576, 3)
但这并不能捕获视频并退出Python(或Jupyter Notebook中死的内核):
>>> import cv2
>>> cap = cv2.VideoCapture('./video6.avi')
Segmentation fault: 11
它曾经工作过,我不记得曾经更改过有关OpenCV的内容(也许是MacPorts的更新)。
更多信息:
我正在Mac OS X 10.12上工作
版本:3.2.0
与MacPorts一起安装:
opencv @3.2.0_1+contrib+debug+python35+qt4+tbb (active)
非常感谢您的帮助。
最佳答案
最后,我使用MacPorts卸载并重新安装了OpenCV2(正确安装)。
sudo uninstall opencv
sudo port install opencv +debug +python35 +qt4 +tbb +contrib
# To use openCV in a virtual env
cp /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/cv2.cpython-35m-darwin.so VIRTUALENV_PATH/lib/python3.5/site-packages/
我也需要更新numpy(
pip install numpy -U
),并且可以正常工作。
关于python - VideoCapture的OpenCV段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44751770/