我正在校准摄像头,为此我使用了python语言和开放的cv库。我在Jetson Nano上使用了Waveshare IMX 219摄像头。
我尝试用摄像机捕捉图像,以便使用“VideoCapture”函数校准它们,将摄像机0的索引作为参数传递。这时出现了以下问题:
[警告:0]全局/主页/nvidia/主机/构建_开放版本/nv_开放版本/模块/视频io/src/cap_gstreamer. cpp(1757)处理消息OpenCV|GStreamer警告:嵌入式视频播放暂停;模块v4 l2 src 0报告:内部数据流错误。[警告:0]全局/home/nvidia/主机/构建_开放版本/nv_开放版本/模块/视频io/src/cap_gstreamer. cpp(886)打开OpenCV|GStreamer警告:无法启动管道[警告:0]全局/主页/nvidia/主机/构建_开放版本/nv_开放版本/模块/视频io/src/cap_gstreamer. cpp(480)正在播放OpenCV管道|GStreamer警告:GStreamer:尚未创建管道
摄像头已正确连接,并且正在被设备识别。
1条答案
按热度按时间eiee3dmh1#
传递索引0将使用V4 L后端,或gstreamer后端的v4 l2 src插件(您的情况是后者)。问题是IMX 219是一个拜耳RG 10传感器,其原始视频不适合大多数算法需要BGR格式的opencv(其他格式可用,但取决于您的opencv版本)。
有了Jetson,路径将使用Argus,它将使用ISP进行延迟、自动调整增益、曝光、wb......,并将NV 12格式帧提供到NVMM内存中,在那里,由于插件nvarguscamerasrc,它可以在gstreamer中处理。
为了向opencv应用程序提供BGR帧,您可以首先使用Jetson的维克HW转换为BGRx,并将nvvidconv输出到系统内存中,然后使用videoconvert进行BGR。因此,管道将为:
另外请注意,默认支持一些Jetsons L4 T版本作为设备树/驱动程序将为RPi v2 IMX 219凸轮。我没有经验与Waveshare凸轮,但供应商应该提供一个SDK为他们的产品。检查您的相机供应商为您的L4 T版本。