Opencv nvgstcapture vs nvarguscamerasrc

Opencv nvgstcapture vs nvarguscamerasrc,opencv,gstreamer,nvidia-jetson,Opencv,Gstreamer,Nvidia Jetson,我为我的OpenCV项目买了一台CSI摄像机IMX219 当我运行下面的命令时,实时显示帧似乎没有任何延迟 $nvgstcapture-1.0-m2-prev res 4 但是,当我使用下面的pipleline运行简单的python代码时,捕获速度非常慢 pipeline = 'nvarguscamerasrc ! video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1 ! nvvidconv

我为我的OpenCV项目买了一台CSI摄像机IMX219

当我运行下面的命令时,实时显示帧似乎没有任何延迟

$nvgstcapture-1.0-m2-prev res 4

但是,当我使用下面的pipleline运行简单的python代码时,捕获速度非常慢

pipeline = 'nvarguscamerasrc !  video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1 ! nvvidconv flip-method=0 ! video/x-raw, width=1920, height=1080, format=BGRx ! videoconvert ! video/x-raw, format=BGR ! appsink'

cap = cv2.VideoCapture(pipeline, cv2.CAP_GSTREAMER)
如果我需要Opencv中的1920x1080,30fps VideoCapture(),该怎么办


谢谢你的帮助 基本上,问题是在OpenCV的gstreamer管道中丢失了很多硬件加速
videoconvert
尤其是在管道中速度非常慢。根据我的应用程序的性质,我使用
nvidconv
将BGRx转换为I420。OpenCV无法处理BGRx,但它可以处理I420,我将其转换为BGR,以便在应用程序的后续部分进行处理
appsink
在他们的设备上速度也很慢,并且您没有其他接收器选项


如果您需要恒定的实时帧,我建议使用as,因为它可能具有NVIDIA提供的最高性能,并针对其硬件进行了优化。

libargus API听起来很有希望。我想这正是我一直在寻找的。非常感谢你!