Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

[应用开发] CAM-C1126S2U使用rkmedia_vi_get_frame_test怎么采集到RGB摄像头的图像

32

积分

0

威望

0

贡献

技术小白

积分
32

CAM-C1126S2U使用rkmedia_vi_get_frame_test怎么采集到RGB摄像头的图像

发表于 2021-11-17 11:16:21      浏览:3988 | 回复:18        打印      只看该作者   [复制链接] 楼主
我用的是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摄像头的数据,因为我看教程里面这样做采集到的图片是彩色的
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11377

突出贡献

发表于 2021-11-17 15:06:17        只看该作者  沙发
将摄像头切换成 rkispp_scale1 就可以了
./rkmedia_vi_get_frame_test  -a /oem/etc/iqfiles/ -w 1920 -h 1080 -d rkispp_scale1 -o /tmp/1080p.nv12 -c 10
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11377

突出贡献

发表于 2021-11-17 15:09:21        只看该作者  板凳
因为是 IR 和 RGB 是两个不同的摄像头,所以摄像头的节点不一样,需要进行切换使用。
回复

使用道具 举报

62

积分

0

威望

0

贡献

技术小白

积分
62
发表于 2021-11-17 16:24:17        只看该作者  地板
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
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11377

突出贡献

发表于 2021-11-17 17:58:41        只看该作者  5#
不同的摄像头哦。摄像头模组芯片都不一样。一个是 gc2096,另一个是 gc2053。
回复

使用道具 举报

32

积分

0

威望

0

贡献

技术小白

积分
32
发表于 2021-11-17 18:15:34        只看该作者  6#
799959745 发表于 2021-11-17 15:06
将摄像头切换成 rkispp_scale1 就可以了
./rkmedia_vi_get_frame_test  -a /oem/etc/iqfiles/ -w 1920 -h  ...

换成1后会提示
[RKMEDIA][SYS][Warn]:VI[0]:"rkispp_scale1" buffer may be occupied by other modules or apps, try again...
Create VI[0] failed! ret=-11

我是用的UVC的固件,我看后台uvc_app还在运行,是不是这个app还在使用所以建立VI失败,这个该怎么操作?我直接把uvc_app kill了,adb调试也会马上断开
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11377

突出贡献

发表于 2021-11-18 09:00:52        只看该作者  7#
uvc_app 会去调用摄像头节点。摄像头节点已经被初始化了。所以你不能再次初始化。
试一下去掉 -a 参数。
  1. ./rkmedia_vi_get_frame_test -w 1920 -h 1080 -d rkispp_scale1 -o /tmp/1080p.nv12 -c 10
复制代码
回复

使用道具 举报

32

积分

0

威望

0

贡献

技术小白

积分
32
发表于 2021-11-18 10:18:38        只看该作者  8#
799959745 发表于 2021-11-18 09:00
uvc_app 会去调用摄像头节点。摄像头节点已经被初始化了。所以你不能再次初始化。
试一下去掉 -a 参数。

不行,改了之后还是报

[RKMEDIA][SYS][Warn]:VI[0]:"rkispp_scale1" buffer may be occupied by other modules or apps, try again...
Create VI[0] failed! ret=-11
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11377

突出贡献

发表于 2021-11-18 11:10:09        只看该作者  9#
那就只能修改 uvc_app 的默认启动脚本。默认不启动 uvc_app。
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11377

突出贡献

发表于 2021-11-18 11:13:50        只看该作者  10#
如果只是想测试这个功能的话,可以烧 facial_gate 固件。开机把 /etc/init.d/S99_arcface 的 /usr/share/arc/start_app.sh 90 给注释掉。默认不启动人脸识别应用。
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表