OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4372|回复: 7

F429 OV2640 二维码识别 只能用SDRAM,自身RAM容量不够

[复制链接]

6

主题

24

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2017-12-16
在线时间
26 小时
发表于 2019-3-13 22:48:02 | 显示全部楼层 |阅读模式
30金钱
硬件准备:
阿波罗F429开发板; OV2640摄像头。9341的LCD屏(一定要用这个,其他屏幕我给在LCD程序中屏蔽掉了,为了节省RAM)
软件准备:
在F429增值程序 二维码识别基础上进行更改, 原来用的OV5640,被我改成OV2640。

改完后的程序可用,我在下边分享了,并且尽量的去掉多余占用内存的部分,但这远远不够。
问题出在这段程序,
rgb_data_buf=mymalloc(SRAMEX,qr_image_width*qr_image_width);//为rgb帧缓存申请内存
原来用的SDRAM的外部缓存,但是我不想这样用,我认为240*240(16位的),F4自身RAM就够,但是却是不行,改成用内部缓存申请,就没有图像。
对 就是这个问题,请问如何改程序,能够不用SDRAM,只用F4自身RAM就可以呢?
上传一张二维码图片,识别后屏幕显示132.
注意本次上传的程序去掉了很多冗余部分,所以其他二维码能否识别成功不确定!



识别后是132

识别后是132

(HAL库版,适合阿波罗F429开发板)扩展实验SE01 ATK-QR二维码、条形码识别实验 -25 - 副本.zip

3.42 MB, 下载次数: 118

最佳答案

查看完整内容[请看2#楼]

用内部内存的话,你可以把图像设置成120*120大小
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-3-13 22:48:03 | 显示全部楼层
用内部内存的话,你可以把图像设置成120*120大小
回复

使用道具 举报

6

主题

24

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2017-12-16
在线时间
26 小时
 楼主| 发表于 2019-3-13 22:50:55 | 显示全部楼层
大晚上发帖自己顶一下吧
回复

使用道具 举报

6

主题

24

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2017-12-16
在线时间
26 小时
 楼主| 发表于 2019-3-14 12:43:44 | 显示全部楼层
正点原子 发表于 2019-3-13 22:48
用内部内存的话,你可以把图像设置成120*120大小

[mw_shl_code=applescript,true]//        if(qr_image_width>480)qr_image_width=480;//这里qr_image_width设置为240的倍数
       
//        if(qr_image_width==320)
                qr_image_width=120;[/mw_shl_code]
做如上修改,二维码识别不出来。图像貌似太小了,因为我是用手机显示的二维码,让摄像头识别,识别不出来。
另外,将内存修改为用内部RAM ,屏幕上根本不显示图像。
[mw_shl_code=applescript,true]                rgb_data_buf=mymalloc(SRAMIN,qr_image_width*qr_image_width);//为rgb帧缓存申请内存[/mw_shl_code]
这样改的。
最后,希望可以你们也用实际的板子试一下,我的程序就是咱家程序改的,咱家的板子可以直接用.
回复

使用道具 举报

6

主题

24

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2017-12-16
在线时间
26 小时
 楼主| 发表于 2019-3-17 20:44:42 | 显示全部楼层
正点原子 发表于 2019-3-13 22:48
用内部内存的话,你可以把图像设置成120*120大小

原子哥,你的方法我试了 不能用啊,就没有其他大神帮忙解答一下吗?
回复

使用道具 举报

6

主题

24

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2017-12-16
在线时间
26 小时
 楼主| 发表于 2019-3-19 12:16:03 | 显示全部楼层
正点原子 发表于 2019-3-13 22:48
用内部内存的话,你可以把图像设置成120*120大小

原子哥,你这不是最佳答案,留给别人吧
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2019-3-19
在线时间
0 小时
发表于 2019-3-19 19:17:57 | 显示全部楼层
厉害啦。。。。。。
回复

使用道具 举报

6

主题

24

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2017-12-16
在线时间
26 小时
 楼主| 发表于 2019-3-20 13:39:44 | 显示全部楼层
正点原子 发表于 2019-3-13 22:48
用内部内存的话,你可以把图像设置成120*120大小

原子哥,算是成功了吧,我目前设置的是200X200的图像,可以用,240X240不可用,内存不够。
[mw_shl_code=applescript,true]qr_image_width=200;
rgb_data_buf=mymalloc(SRAMIN,qr_image_width*qr_image_width*2);//为rgb帧缓存申请内存


OV2640_OutSize_Set(200,200);

[/mw_shl_code]

上面3句代码很关键,在上传的代码上改一下就可以用了。
一直没为论坛做什么贡献,希望这次的经验对后来者有用。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 10:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表