关于OV摄像头数据的获取的心得和疑惑

2019-07-20 16:43发布

本帖也是一个分享帖子。也是个悬赏帖子,
(1)F103+0v7670 摄像头作为从设备。F103作为主设备CLK数据获得直接放LCD-ram中,这样数据的承接地方是LCD.
(2)F103+OV2640 摄像头为主设备,F103为从,MCU等待CLK来的数据读取总线数据。
(3)F407+2640  摄像头为主。 F407用DCMI接收数据通过DMA把存在DCMI DR里的数据往出搬运。好我的问题来了
BMP(RGB565)数据量大,如果我的LCD很小只有800X480,但摄像头输出的是1600X1200这么多数据没法承接.dma也没法搬运到申请的内存池的SRAM(1M)中,所以只能把ov输出的数据减小成800x480或者开DCMI窗口剪切模式把数据输入到LCD上。原子历程中。JPEG数据量少开300K缓存足够忘SD卡里倒腾。可是BMP数据量大的多的情况又没法放sram又没法放LCD上。该怎么处理呢?1600X1200是OV2640的最大有效分辨率。如果用不到岂不是浪费很多?我确实想用。可是目前没好办法去解决问题。其实1600x1200 中我有效的区域只有1600x300这么多。但就这么多的数据根本无法存放在单片机或者SRaM里,放SD卡不合适。毕竟擦除又写,我这个工作量和速度太快。外扩8M的SRAM是不是个办法。。。我不知道有什么方法可以把这么多数据拿到。并读完一副图片后用这数据处理。边读边处理的方式我也想过。开双缓存。可是怕是赶不过来啊。各位。有好办法吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
yyx112358
1楼-- · 2019-07-20 20:42
 精彩回答 2  元偷偷看……
lvehe
2楼-- · 2019-07-20 23:11
不知道楼主具体要做什么。我的建议是,设置ov2640输出图像分辨率为800*480,格式为RGB565,直接输出到LCD的RAM里,如果要处理图像,可以暂停LCD接收数据,读取存放在LCD的RAM中的图像数据。如果只是显示图像,完全没必要让ov2640输出最大分辨率。
rnm2g1
3楼-- · 2019-07-20 23:16
lvehe 发表于 2016-7-6 17:46
不知道楼主具体要做什么。我的建议是,设置ov2640输出图像分辨率为800*480,格式为RGB565,直接输出到LCD的 ...

兄弟,谢谢您的建议。我肯定不是为了显示图片,我是要做图像识别的采集,如果分辨率太低比如320x240根本无法满足要求。800x480勉强可以。但是如果想获得更好更优质的数据。必然我想要1200x1600的数据。但是数据太大了。根本没地方存。。愁
Linx
4楼-- · 2019-07-21 00:56
楼主一看就知道是大神,,,不知可否私聊教我一下F407+2640的图像二值化处理呀
小弟感激不尽

一周热门 更多>