EB-RV1126-DC201开发板实现USB摄像头抓图

1126的开发板内核已经把USB的驱动配置好了,但是USB摄像头的驱动还没有配置,所以要在内核打开UVC驱动

第一步:修改rv1126_defconfig 添加以下内容

vi  ./kernel/arch/arm/configs/rv1126_defconfig


CONFIG_MEDIA_USB_SUPPORT=y

CONFIG_USB_VIDEO_CLASS=y

CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y

CONFIG_USB_GSPCA=m

第二步,回到SDK根目录编译

第三步:烧录好固件,使用v4l2-ctl --list-devices查看列表,会显示生成新的节点。

 

v4l2-ctl --all --device=/dev/video33

第四步:识别到新的节点后,就可以用这个节点抓图了,
v4l2-ctl -d /dev/video45 \
--set-fmt-video=width=1920,height=1080,pixelformat=NV12 \
--stream-mmap=3 \
--stream-skip=3 \
--stream-to=/tmp/output.jpg \
--stream-count=1 \
--stream-poll

文件存放在tmp目录下,把output.jpg取出到PC端或者使用别的方法查看即可。

 

v4l2-ctl -d /dev/video33 \
--set-fmt-video=width=1280,height=720,pixelformat=MJPG \
--stream-mmap=3 \
--stream-skip=3 \
--stream-to=/tmp/output.jpg \
--stream-count=1 \
--stream-poll

 

 

v4l2-ctl -d /dev/video33 \
--set-fmt-video=width=1280,height=720,pixelformat=NV12 \
--stream-mmap=3 \
--stream-skip=3 \
--stream-to=/tmp/output.yuv \
--stream-count=1 \
--stream-poll

 

v4l2-ctl -d /dev/video33 \
--set-fmt-video=width=640,height=480,pixelformat=NV12 \
--stream-mmap=3 \
--stream-skip=3 \
--stream-to=/tmp/output.jpg \
--stream-count=1 \
--stream-poll

 

v4l2-ctl 常用命令介绍:
#List all video devices:
v4l2-ctl --list-devices

#List supported video formats and resolutions of default video device 
v4l2-ctl --list-formats-ext

#List supported video formats and resolutions of a specific video device:
v4l2-ctl --list-formats-ext --device path/to/video_device
#eg:
v4l2-ctl --list-formats-ext --device /dev/video0

#Get all details of a video device:
v4l2-ctl --all --device path/to/video_device
#eg:
v4l2-ctl --all --device /dev/video0

#Capture a JPEG photo with a specific resolution from video device:
v4l2-ctl --device path/to/video_device --set-fmt-video=width=width,height=height,pixelformat=MJPG --stream-mmap --stream-to=path/to/output.jpg --stream-count=1
#eg:
v4l2-ctl --device /dev/video0 --set-fmt-video=width=1280,height=720,pixelformat=MJPG --stream-mmap --stream-to=/home/nvidia/Pictures/video0-output.jpg --stream-count=1

#Capture a raw video stream from video device:
v4l2-ctl --device path/to/video_device --set-fmt-video=width=width,height=height,pixelformat=format --stream-mmap --stream-to=path/to/output --stream-count=number_of_frames_to_capture
#eg:
v4l2-ctl --device /dev/video0 --set-fmt-video=width=1280,height=720,pixelformat=MJPG --stream-mmap --stream-to=/home/nvidia/Pictures --stream-count=10

#List all video device's controls and their values:
v4l2-ctl --list-ctrls --device /path/to/video_device
#eg:
v4l2-ctl --list-ctrls --device /dev/video0

posted @ 2023-08-09 14:50  阿风小子  阅读(930)  评论(0编辑  收藏  举报