UNSOLVED 怎么通过V4L2直读摄像头内存,现在按常规的操作ioctl无法实现
-
我司采购了MV-MIPI-IMX265M摄像头,用的板卡是基于瑞芯微的ROC-RK3588S-PC,请问,怎么通过V4L2直读摄像头内存,现在按常规的操作ioctl无法实现?
-
@张志伟
驱动装好之后,就是用常规方法获取图片即可。
具体可以参考yavta的代码。
https://wiki.veye.cc/index.php/MV_Camera_on_Firfly_Boards/zh#yavta.E5.BA.94.E7.94.A8.E8.8C.83.E4.BE.8B -
这种方法,取图速度太慢了,发挥不出来sensor的特性,我想一秒取60张图片,请问有别的方法可以提高速率吗?
-
@张志伟 这个方法一点都不慢。保存文件会消耗时间,你去掉保存文件就可以看到,实际总是能达到设置帧率。
-
@veye_xumm said in 怎么通过V4L2直读摄像头内存,现在按常规的操作ioctl无法实现:
这个方法一点都不慢。保存文件会消耗时间,你去掉保存文件就可以看到,实际总是能达到设置帧率。
请问去掉存储后,如何取图片数据呢? -
@张志伟
你通过编程直接从内存里面取图啊。现在之所以显得慢,是因为下面这个命令要把图片写到flash里面。
./yavta -c1 -Fy8-${WIDTH}x${HEIGHT}.raw --skip 0 -f Y8 -s ${WIDTH}x${HEIGHT} /dev/video0 -
@veye_xumm said in 怎么通过V4L2直读摄像头内存,现在按常规的操作ioctl无法实现:
编程直接从内存里面取图
那就找到我们问题根源了,那请问,如何编程直接从内存里面取图呢,我们以前linux是通过ioctl方式,但是现在行不通,请问有别的方法吗?
-
@张志伟 yavta 我们wiki上有代码链接的。其实就是标准v4l2 buffer的方式。你可以参考一下yavta代码。
-
能发个参考链接吗,谢谢!
-
-
你好,按照你推荐的方法试了,也是不支持capture
-
@张志伟 你现在驱动装好了吗?参考我们的wiki文档,可以直接保存图片了吗
-
用7.5.3.2中的命令是可以取图的
-
@张志伟
试一下7.4.4.2 保存图片到文件 -
现在就是7.4.4.2保存图片不行。
-
@张志伟 我意思是你先严格按照7.4.4.2的命令试试,用Y8,而不是Y16
-
用Y8替代Y16也不行,然后调用设备,出现如下信息
目前调用图像都是通过gstreamer这个方法调用的,我们软件工程师怀疑你们的驱动是不是不完善,或者我们用的驱动不完善。或者说你们的驱动不适用于MV-MIPI-IMX265M这个摄像头? -
@张志伟 按照我我们wiki上步骤去调用yavta存图一定是可以的。你把你用的命令发出来我看看。