使用svga分辨率,即800*600。
问题一: 一帧结束之后这是不是意味着取到testsram里的数据只有480000个?即每个像素点的RGB值
问题二: 取到的数据类型是u16吧,即读到的数值应该是RGB三个的合成?然后再分解RGB,原子教程里面为什么是u32类型数据?
问题三: 我这样取对不对……我如果想看某一点的像素变化,是不是该把RGB三个分解之后相加,看值变化
以下是我在摄像头教程里的一些改动
u16 testsram[50000] __attribute__((at(0X68000000)));//外部sram地址数组
#define test_size 500000 //定义数组长度500000
一、RGB565模式下,800x600有480000个点,完整的一帧占960000个字节。
二、原子用u32是考虑到dcmi的特性,如果是RGB565模式,做类型转换即可。
三、虽不懂图像识别和图像变动侦测,但感觉对比单一像素变化是不靠谱的。如果只是对比单一像素变化,为什么一定要分解成RGB三 {MOD},直接u16数据对比就行了,除非你想对比三 {MOD}变化。
---------------------------------
恩,你说的对,我不懂这个,所以不知道怎么办的……所以来求助。
一、 每一帧结束后,是960000个字节,我不太清楚一次的传输是刚好是一个像素点吗? 我理解是每次传输一个像素点到LCD-RAM上,就是u16,不然原来的传到LCDram上怎么显示呢?
二、 DCMI特性我是不懂额,在RGB565模式下,我贴出来的那段代码换成了u16的数组,这样子是不是有问题
三、我也不懂图像识别,但是u16的RGB是RRRRRGGGGGGBBBBB组成的,u16数据比的话比如除了B以外的高位数据R和G其本身如果有微小的变化,u16的值会整个变化非常大,不好比对,所以想到是分解
谢谢回复,本人愚钝,还在学习阶段,多多指教是想做的东西,有什么建议可以给的可以达到目的
---------------------------------
1,DCMI的DMA可以自动组合数据的,具体细节看参考手册。
2,换成u16,没问题。
一周热门 更多>