gpt4 book ai didi

python - 如何结合 gstreamer 和 opencv?

转载 作者:太空宇宙 更新时间:2023-11-03 21:09:30 28 4
gpt4 key购买 nike

我想使用 OpenCV 分析以 1280 x 960 的原始分辨率拍摄的网络摄像头拍摄的(部分)帧。我可以使用 Gstreamer 和 appsink 捕获这些。然而,我开始意识到,仅仅导入 OpenCV 就会搞乱 Gstreamer,以至于我的捕获不再有效。我需要 gstreamer,因为 OpenCV 只允许捕获 640x480,而且我开始喜欢它带来的所有额外功能。

我能想到的最简单的例子来说明我的问题是这样的:

    import gst
from time import sleep

#import cv2

pipeline = gst.Pipeline()
bin = gst.parse_bin_from_description('''
autovideosrc !
video/x-raw-rgb, width=1280, height=960 !
ffmpegcolorspace !
xvimagesink
''', False)
pipeline.add(bin)

pipeline.set_state(gst.STATE_PLAYING)

while True:
sleep(1)

在上面的版本中,它运行良好,如果我取消注释 import cv2 语句,它会给我无休止的错误消息:

libv4l2: error got 4 consecutive frame decode errors, 最后一个错误:v4l-convert: error Could not enum frameival index: 6 for: RGB3 1280x960 using src: MJPG 1280x960, error: Invalid argument

我在 Kubuntu Linux 12.04 上,使用 OpenCV 2.4.1 版,Gstreamer 0.10.36 版

openCV 做了什么弄乱了我的 Gstreamer?如何同时使用两者?

最佳答案

问题可能是 gstreamer 坏插件已经有 opencv 了。因此,您的 opencv 安装可能与 gstreamer 期望的版本冲突。

如果您希望 gstreamer 在其构建中启用 opencv,请确保先安装 opencv,然后再安装 gstreamer。如果您不想这样做,请执行相反的操作。

关于python - 如何结合 gstreamer 和 opencv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12334925/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com