Opencv nvgstcapture vs nvarguscamerasrc
我为我的OpenCV项目买了一台CSI摄像机IMX219 当我运行下面的命令时,实时显示帧似乎没有任何延迟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
$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听起来很有希望。我想这正是我一直在寻找的。非常感谢你!