Python OpenCV:Python 2.7 到 Python 3.5 之间的 VideoCapture 差异
Posted
技术标签:
【中文标题】Python OpenCV:Python 2.7 到 Python 3.5 之间的 VideoCapture 差异【英文标题】:Python OpenCV : VideoCapture differences between Python 2.7 to Python 3.5 【发布时间】:2017-07-08 14:56:44 【问题描述】:我通过 ssh 连接到远程系统,并尝试在 Python 中使用 OpenCV VideoCapture 读取帧。相同的代码在使用 Python 2.7 时成功,在使用 Python 3.5 时失败:
import cv2
cap = cv2.VideoCapture(0)
Python2.7:
print cap.isOpened() # prints True, further read() calls also return True
Python3.5:
print (cap.isOpened()) # prints False, and so are cap.open(), and of course cap.read().
什么可能导致这种行为?
谢谢!
【问题讨论】:
每个 Python 版本都有自己的 openCV 二进制文件副本,也许这两个版本是用不同的选项构建的? 【参考方案1】:我遇到了完全相同的问题。 OpenCV 是从源代码安装的。 Python 2 和 3 环境之间的区别在于,对于 Python 3,opencv-python 另外是通过 pip3 安装的。一个
pip3 uninstall opencv-python
在我的情况下解决了。
【讨论】:
这正是我的问题。谢谢!以上是关于Python OpenCV:Python 2.7 到 Python 3.5 之间的 VideoCapture 差异的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 python 3.5 安装 opencv 3.1,仅适用于 2.7
Python OpenCV:Python 2.7 到 Python 3.5 之间的 VideoCapture 差异
虚拟环境上的 Opencv3 和 Python 2.7 - AttributeError:“模块”对象没有属性“createLBPHFaceRecognizer”