MV-MIPI-IMX296硬触发模式下opencv无法读取图像
-
在Raspberry Pi 4B板子上,测试提供的demo(在视频流模式下),opencv能够读取相机采集的图像。但我的目标是在硬触发模式下,采用opencv读取并处理图像,结果显示无法读取。我的代码如下

运行程序显示,程序一直处于等待触发信号阶段,未继续执行opencv命令打开摄像头。
我将程序顶部v4l2-cmd部分代码注释掉,在命令行运行v4l2-cmd命令,使其开始在硬触发模式下等待触发信号。然后,在新的命令行窗口运行程序,结果显示无法读取图像,如下图所示:

请问如何解决该问题?谢谢! -
@danny 你的第一个图中的代码。逻辑上,需要先执行打开摄像头,等待图像数据。然后,用另一个进程去触发摄像头出图。
你现在先触发摄像头出图,然后再顺序执行程序,打开摄像头,等待来图,早已晚了。 -
@veye_xumm 非常感谢!您是对的,我修改了代码,用另一个进程触发相机,opencv能够读取图像。但我发现opencv是从第5个trigger触发后读取图像。我想应该是相机内部设置了4个buffer,前4帧图像被存入buffers。然后,第5帧被采集,进入buffer,挤出第1个buffer的图像(即第1帧图像)。不知我的理解对不对,望告知。另外,怎么将buffer数量设置为1个呢?我想立即读取,因为我的应用需要和其他设备时间同步。
-
@danny 相机内部没有内存,不可能缓存几帧buffer。
V4L2底层驱动会有v4l2buffer,数量也是可设的,但是据我理解其机制并不是你说的后入挤出前入的机制。应该是可以正常触发一次,收到一次。
你可以先试试我们的例程,两个例程——一个是用v4l2-ctl获取图像,一个用opencv获取图像。 -
@veye_xumm 好的,感谢解答。
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login