opencv - 打开 Gstreamer 管道时出现 cv2.VideoCapture 错误
问题描述
我正在尝试像这样在window10上使用opencv-python打开gstreamer管道
cv2.VideoCapture('videotestsrc ! video/x-raw,framerate=20/1 ! videoscale ! videoconvert ! appsink', cv2.CAP_GSTREAMER)
我已经安装了 gstreamer 并测试了它,但是 VideoCapture 没有打开。所以我使用print(cv2.getBuildInformation())
并检查了 gstreamer 没有像下面那样构建
Video I/O:
DC1394: NO
FFMPEG: YES (prebuilt binaries)
avcodec: YES (58.91.100)
avformat: YES (58.45.100)
avutil: YES (56.51.100)
swscale: YES (5.7.100)
avresample: YES (4.0.0)
GStreamer: NO
DirectShow: YES
Media Foundation: YES
DXVA: NO
现在,我不知道如何用 gstreamer 构建 opencv。:(
解决方案
我遇到了同样令人沮丧的问题。幸运的是,这里有一个方便的指南来解决它:https ://medium.com/@galaktyk01/how-to-build-opencv-with-gstreamer-b11668fa09c
总之,您必须使用 cmake 手动构建 gstreamer opencv 才能正确配置它。根据我的经验,大约需要 1-2 小时,编译时间为 1 小时。希望这对你有用!
推荐阅读
- html - SVG 未在最新版本的 Chrome 中显示
- django - 在 AWS 中部署 opencv django 应用程序时面临的问题
- algorithm - 除前 K 和后 K 元素外的已排序数组
- javascript - 将秒转换为年、日、小时、分钟和秒
- android - 无法创建目录并将相机拍摄的照片保存在 storage/emulated/0 中
- python - Python:如何为 pandas 数据框条目分配唯一 ID
- javascript - 如何更改数组内对象的值?
- java - 从应用程序获取 JRE 版本
- mysql - 是什么导致 IntegrityError '无法添加外键约束'?
- laravel-5 - Add array data to in vue without loosing old data