向gstreamer视频流添加一些OpenCV处理

2024-09-28 05:20:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让OpenCV处理gstreamer管道中间的一个帧。在

我有一个gstreamer管道生成流,并将其发送到appsink,以便OpenCV代码接收:

v4l2src ! ffmpegcolorspace ! jpegenc ! appsink name=sink

另一个管道从appsrc(OpenCV向其发送数据)获取数据并在屏幕上输出:

^{pr2}$

我用sink上的pull buffer请求打开每个帧,并用OpenCV处理它,然后在src上使用push buffer。我用Python做所有这些。在

由于某些原因,这似乎不起作用(分段错误)。在

但我并不是真的想解决它,反正效率非常低。我只是想知道有没有更好的方法让OpenCV在帧到达输出接收器之前处理它?在


Tags: 代码name管道屏幕bufferopencv发送数据sink
2条回答

我知道你最初的问题已经过去好几年了,但为了记录,OpenCv可以直接打开Gstreamer管道。请参阅Using custom camera in OpenCV (via GStreamer)中的(自我)答案以获取示例。在

顺便说一下,OpenCv 3.0(主分支)实际上集成了gstreamer1.0支持。在

你试过gst-opencv?它提供了几个opencv原语作为gstreamer插件。在

编辑:似乎它已经合并到gst-plugins-bad,上面的链接已经过时。在

相关问题 更多 >

    热门问题