【发布时间】:2018-03-24 21:25:18
【问题描述】:
我正在尝试使用官方 openCV 教程中的代码在 Ubuntu/Python 3.6 中使用 cv2.imshow() 显示来自网络摄像头的视频:
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
我收到cv2.imshow() 的以下错误:
该功能未实现。使用 Windows、GTK+ 2.x 或 Carbon 支持重建库。如果你在 Ubuntu 或 Debian 上,安装 libgtk2.0-dev 和 pkg-config,然后重新运行 cmake 或在函数 cvShowImage 中配置脚本
在搜索错误时,我偶然发现了这篇文章作为类似问题的替代答案:
如果您在任何时候使用 opencv-python pip 包安装 OpenCV,请注意以下注释,取自 https://pypi.python.org/pypi/opencv-python
重要提示 MacOS 和 Linux 轮子目前有一些限制:
- 不支持视频相关功能(未使用 FFmpeg 编译)
- 例如 cv2.imshow() 将不起作用(未使用 GTK+ 2.x 或 Carbon 支持编译)
还要注意,要从其他来源安装,首先必须删除 opencv-python 包
OpenCV error: the function is not implemented
大多数其他 openCV 功能都可以正常工作。
是否有替代 cv2.imshow() 使用标准 anaconda 库的替代方案,因此我不必重新编译 openCV 或使用 Python 2.7?
【问题讨论】:
标签: python linux opencv anaconda webcam