CAM-C1126S2U使用rkmedia_vi_get_frame_test怎么采集到RGB摄像头的图像
我用的是CAM-C1126S2U双目摄像头模块,然后按照维基教程里面使用Firefly 提供了测试 DEMO,我把编译好的DEMO(rkmedia_vi_get_frame_test)放到模块里面运行,
按照教程提示的,运行以下步骤
#从摄像头节点 rkispp_scale0 抓取 10 帧图片并保存为 1080p.nv12 文件
./rkmedia_vi_get_frame_test-a /oem/etc/iqfiles/ -w 1920 -h 1080 -d rkispp_scale0 -o /tmp/1080p.nv12 -c 10
我把生成的图片导出来,放到主机里面,按照教程运行以下步骤
# 命令录取 10 帧图像数据,截取最后一帧来预览
# 使用 dd 跳过前 9 帧数据,得到最后一帧。3110400 = 1920 x 1080 x 3 / 2 一帧 NV12 数据大小
dd if=1080p.nv12 of=1080pl.nv12 bs=3110400 skip=9
# 使用 ffmpeg 把 NV12 图像转换为 PNG 格式。
fmpeg -y -f rawvideo -pix_fmt nv12 -ss 00:01 -r 1 -s 1920x1080 -i 1080pl.nv12 -frames:v 1 output.png
# 打开 output.png 预览。
得到的是灰度图片,估计采集是IR摄像头的数据,怎么可以采集到RGB摄像头的数据,因为我看教程里面这样做采集到的图片是彩色的 将摄像头切换成 rkispp_scale1 就可以了
./rkmedia_vi_get_frame_test-a /oem/etc/iqfiles/ -w 1920 -h 1080 -d rkispp_scale1 -o /tmp/1080p.nv12 -c 10 因为是 IR 和 RGB 是两个不同的摄像头,所以摄像头的节点不一样,需要进行切换使用。 799959745 发表于 2021-11-17 15:06
将摄像头切换成 rkispp_scale1 就可以了
./rkmedia_vi_get_frame_test-a /oem/etc/iqfiles/ -w 1920 -h...
scale是同一个camera的吧,应该指定 -I 为0或1,来切换camera 不同的摄像头哦。摄像头模组芯片都不一样。一个是 gc2096,另一个是 gc2053。 799959745 发表于 2021-11-17 15:06
将摄像头切换成 rkispp_scale1 就可以了
./rkmedia_vi_get_frame_test-a /oem/etc/iqfiles/ -w 1920 -h...
换成1后会提示
:VI:"rkispp_scale1" buffer may be occupied by other modules or apps, try again...
Create VI failed! ret=-11
我是用的UVC的固件,我看后台uvc_app还在运行,是不是这个app还在使用所以建立VI失败,这个该怎么操作?我直接把uvc_app kill了,adb调试也会马上断开 uvc_app 会去调用摄像头节点。摄像头节点已经被初始化了。所以你不能再次初始化。
试一下去掉 -a 参数。
./rkmedia_vi_get_frame_test -w 1920 -h 1080 -d rkispp_scale1 -o /tmp/1080p.nv12 -c 10 799959745 发表于 2021-11-18 09:00
uvc_app 会去调用摄像头节点。摄像头节点已经被初始化了。所以你不能再次初始化。
试一下去掉 -a 参数。
不行,改了之后还是报
:VI:"rkispp_scale1" buffer may be occupied by other modules or apps, try again...
Create VI failed! ret=-11 那就只能修改 uvc_app 的默认启动脚本。默认不启动 uvc_app。 如果只是想测试这个功能的话,可以烧 facial_gate 固件。开机把 /etc/init.d/S99_arcface 的 /usr/share/arc/start_app.sh 90 给注释掉。默认不启动人脸识别应用。
页:
[1]
2