SMi*_*iLE 8 python opencv gstreamer
我正在尝试让OpenCV在一个gstreamer管道中间处理一个框架.
我有一个gstreamer管道生成流,将其发送到appsink以获取OpenCV代码:
v4l2src ! ffmpegcolorspace ! jpegenc ! appsink name=sink
Run Code Online (Sandbox Code Playgroud)
另一个管道从appsrc(OpenCV发送数据)获取它并在屏幕上输出:
appsrc name=src ! jpegdec ! xvimagesink
Run Code Online (Sandbox Code Playgroud)
我在接收器上打开每个帧的拉缓冲器请求并使用OpenCV处理它,然后在src上使用push-buffer.我正在用Python做所有这些.
出于某种原因,这似乎不起作用(分段错误).
但我并没有真正想要解决它; 无论如何,它的效率非常低.我只是想知道是否有更好的方法让OpenCV在到达输出接收器之前处理帧?