Firefly开源社区

打印 上一主题 下一主题

firefly-prime 摄像头获取的帧率只有7帧

27

积分

0

威望

0

贡献

游客

积分
27

firefly-prime 摄像头获取的帧率只有7帧

发表于 2016-6-14 18:34:02      浏览:7479 | 回复:7        打印      只看该作者   [复制链接] 楼主
我购买了一块rk3128的主板和官方的摄像头,然后通过编写摄像头对应的代码,通过PreviewCallback的函数onPreviewFrame来获取每一帧的图像,每获取一帧,打印一条信息,如下。
06-14 02:21:52.475: D/CameraManager(5353): .
06-14 02:21:52.617: D/CameraManager(5353): .
06-14 02:21:52.762: D/CameraManager(5353): .
06-14 02:21:52.910: D/CameraManager(5353): .
06-14 02:21:53.057: D/CameraManager(5353): .
06-14 02:21:53.178: D/CameraManager(5353): .
06-14 02:21:53.342: D/CameraManager(5353): .
06-14 02:21:53.482: D/CameraManager(5353): .
06-14 02:21:53.612: D/CameraManager(5353): .
06-14 02:21:53.755: D/CameraManager(5353): .
06-14 02:21:53.913: D/CameraManager(5353): .
06-14 02:21:54.055: D/CameraManager(5353): .
06-14 02:21:54.186: D/CameraManager(5353): .
06-14 02:21:54.354: D/CameraManager(5353): .
06-14 02:21:54.496: D/CameraManager(5353): .
06-14 02:21:54.636: D/CameraManager(5353): .
06-14 02:21:54.784: D/CameraManager(5353): .
06-14 02:21:54.923: D/CameraManager(5353): .
06-14 02:21:55.072: D/CameraManager(5353): .
06-14 02:21:55.199: D/CameraManager(5353): .
06-14 02:21:55.355: D/CameraManager(5353): .
06-14 02:21:55.504: D/CameraManager(5353): .
06-14 02:21:55.643: D/CameraManager(5353): .
06-14 02:21:55.786: D/CameraManager(5353): .
06-14 02:21:55.937: D/CameraManager(5353): .
06-14 02:21:56.074: D/CameraManager(5353): .
06-14 02:21:56.210: D/CameraManager(5353): .
06-14 02:21:56.362: D/CameraManager(5353): .
但是从上面可以看出,每秒钟大概只获取到7帧的图像。

后续通过编写jni代码 通过v4l2来对 /dev/video0进行读取每一帧信息,发现获取的帧率依旧是7帧左右。
因此基本上可以排除了速度慢是由于android系统系统引起的,原因是在驱动层。

rk3128是通过cif 驱动然后根据行场同步信号来采集信息的,所以我想问下,如何修改底层驱动来提高
采集的帧率速度,因为要应用的场景比较特殊,采集帧率很重要,希望版主能够帮忙看下。

之前看说明 640*480的图像应该能够达到 30帧左右,但是不论是用官方的摄像头还是自己的摄像头,都
只有7帧,实在是太慢了。
回复

使用道具 举报

72

积分

0

威望

0

贡献

技术小白

积分
72
发表于 2016-6-27 00:41:12        只看该作者  沙发
得看看底层的驱动代码了
可能是摄像头模块时钟配置得比较小
回复

使用道具 举报

80

积分

0

威望

0

贡献

技术小白

积分
80
发表于 2016-6-29 10:02:59        只看该作者  板凳
afsgssh
回复

使用道具 举报

27

积分

0

威望

0

贡献

游客

积分
27
发表于 2016-6-30 09:37:00        只看该作者  地板
我是从这个论坛指定的淘宝网上买的开发板和摄像头,之后拿来测试的。
目前基本上我能排除帧率低不是 android开发层 和摄像头驱动的问题,
我个人怀疑是cif 驱动的值设置不对。
这个需要在代码中哪里修改。
系统其他问题目前我已经改好,只差帧率了。
有谁能帮忙看下,怎么改。
回复

使用道具 举报

27

积分

0

威望

0

贡献

游客

积分
27
发表于 2016-7-6 11:01:44        只看该作者  5#
ljj3166 发表于 2016-6-27 00:41
得看看底层的驱动代码了
可能是摄像头模块时钟配置得比较小

你时钟怎么配置呢?代码位置能否告知下
回复

使用道具 举报

2965

积分

12

威望

22

贡献

高级创客

Rank: 6Rank: 6

积分
2965
发表于 2016-7-6 14:25:36        只看该作者  6#
hzl 发表于 2016-7-6 11:01
你时钟怎么配置呢?代码位置能否告知下

时钟配置其实直接改mclk_rate = <24>; 就可以了吧
int mclk_rate;       /* MHz : 24/48 */
可以改成48试试。
回复

使用道具 举报

2965

积分

12

威望

22

贡献

高级创客

Rank: 6Rank: 6

积分
2965
发表于 2016-7-6 14:30:01        只看该作者  7#
hzl 发表于 2016-6-30 09:37
我是从这个论坛指定的淘宝网上买的开发板和摄像头,之后拿来测试的。
目前基本上我能排除帧率低不是 andro ...

帧率低可以尝试去修改sensor_init_data里面的寄存器

寄存器相关说明在旁边都有注释,可以尝试去修改
回复

使用道具 举报

459

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
459
发表于 2017-7-27 15:16:51        只看该作者  8#
问题解决了没 我也遇到同样的问题  
回复

使用道具 举报

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

本版积分规则

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