v4l2常见操作-查看当前摄像头信息,帧率,控制参数,分辨率,支持格式,抓图实践等

一:查看当前有哪些摄像头

grep '' /sys/class/video4linux/video*/name

例如以下为USB插入式camera


二:查看当前摄像头支持的分辨率

v4l2-ctl -d /dev/video14 --get-fmt-video

例如以下摄像头支持的video捕获分辨率为3840*2160


三:查看当前摄像头出帧帧率,对应的分辨率要设置成支持的分辨率

v4l2-ctl --verbose -d /dev/video14 --set-fmt-video=width=3840,height=2160,pixelformat='NV12' --stream-mmap=4 --set-selection=target=crop,flags=0,top=0,left=0,width=3840,height=2160


四:列出指定设备的预览支持格式

v4l2-ctl --list-formats-ext --device /dev/video14



五:获取设备所有信息

v4l2-ctl --all --device /dev/video0


六:列出设备控制值,如亮度设置等。

v4l2-ctl --list-ctrls --device /dev/video0


七:用v4L2工具进行抓图

注意需要根据实际支持的情况,设置宽高,及图像格式

v4l2-ctl --verbose -d /dev/video20 \

--set-fmt-video=width=1920,height=1080,pixelformat='BGR3' \

--stream-mmap=4 --stream-skip=30 \

--stream-to=/data/BGR3_img.yuv \

--stream-count=5 --stream-poll

--stream-count=5 表示一次抓取5帧

--stream-skip=30 表示跳过多少帧

--set-fmt-video=width=1920,height=1080,pixelformat='BGR3' \ 表示抓取宽高及图像格式

--stream-to=/data/BGR3_img.yuv 表示保存到哪里

注意需要关闭已有相机的预览,不然会报设备繁忙错误


抓取正常显示信息



会生成对应的图像文件


Pull图像到电脑

adb pull data/BGR3_img.yuv

用7yuv查看图片

设置好图像格式及分辨率,不然图像是花屏的。


未设置花屏示例


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容