OpenEdv-开源电子网

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

OV2640在RGB模式下,这样取RGB值对吗?

[复制链接]

2

主题

17

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2015-11-10
在线时间
0 小时
发表于 2015-11-14 21:57:21 | 显示全部楼层 |阅读模式
5金钱
使用svga分辨率,即800*600。
问题一:   一帧结束之后这是不是意味着取到testsram里的数据只有480000个?即每个像素点的RGB值
                
问题二:   取到的数据类型是u16吧,即读到的数值应该是RGB三个的合成?然后再分解RGB,原子教程里面为什么是u32类型数据?

问题三:  我这样取对不对……我如果想看某一点的像素变化,是不是该把RGB三个分解之后相加,看值变化


以下是我在摄像头教程里的一些改动
u16 testsram[50000] __attribute__((at(0X68000000)));//外部sram地址数组
#define test_size 500000   //定义数组长度500000



最佳答案

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

恕我直言,楼主需要补一下摄像头一些基础知识,至少要看懂原子的两个例程。一上来就搞图像识别之类的,步子迈太大容易扯着蛋。 一、RGB565模式下,800x600有480000个点,完整的一帧占960000个字节。 二、原子用u32是考虑到dcmi的特性,如果是RGB565模式,做类型转换即可。 三、虽不懂图像识别和图像变动侦测,但感觉对比单一像素变化是不靠谱的。如果只是对比单一像素变化,为什么一定要分解成RGB三色,直接u16数据对比就行了,除 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

347

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
2078
金钱
2078
注册时间
2014-12-19
在线时间
710 小时
发表于 2015-11-14 21:57:22 | 显示全部楼层
恕我直言,楼主需要补一下摄像头一些基础知识,至少要看懂原子的两个例程。一上来就搞图像识别之类的,步子迈太大容易扯着蛋。
一、RGB565模式下,800x600有480000个点,完整的一帧占960000个字节。
二、原子用u32是考虑到dcmi的特性,如果是RGB565模式,做类型转换即可。
三、虽不懂图像识别和图像变动侦测,但感觉对比单一像素变化是不靠谱的。如果只是对比单一像素变化,为什么一定要分解成RGB三色,直接u16数据对比就行了,除非你想对比三色变化。
回复

使用道具 举报

2

主题

17

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2015-11-10
在线时间
0 小时
 楼主| 发表于 2015-11-15 12:27:29 | 显示全部楼层
回复【2楼】lvehe:
---------------------------------
恩,你说的对,我不懂这个,所以不知道怎么办的……所以来求助。
一、 每一帧结束后,是960000个字节,我不太清楚一次的传输是刚好是一个像素点吗? 我理解是每次传输一个像素点到LCD-RAM上,就是u16,不然原来的传到LCDram上怎么显示呢?
二、 DCMI特性我是不懂额,在RGB565模式下,我贴出来的那段代码换成了u16的数组,这样子是不是有问题
三、我也不懂图像识别,但是u16的RGB是RRRRRGGGGGGBBBBB组成的,u16数据比的话比如除了B以外的高位数据R和G其本身如果有微小的变化,u16的值会整个变化非常大,不好比对,所以想到是分解

谢谢回复,本人愚钝,还在学习阶段,多多指教是想做的东西,有什么建议可以给的可以达到目的
回复

使用道具 举报

2

主题

17

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2015-11-10
在线时间
0 小时
 楼主| 发表于 2015-11-16 13:16:08 | 显示全部楼层
回复【2楼】lvehe:
---------------------------------
正如你说的。完整的一帧是960000个字节,DCMI是接受完4个字节会传送一次。这四个字节就是两个像素对吗?
那么DCMI传送完一帧图片需要960000/4=240000次对吗?
在DMA设置时,原子教程上为什么用LCD显示的时候
//DCMI_DMA_Init((u32)&LCD->LCD_RAM,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Disable);//
DMA_MemoryDataSize_HalfWord是16位,存储器数据长度怎么又变成了16位呢?不该是DMA_MemoryDataSize_Word 32位么,才能完整接受一次DCMI的数据
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-11-17 23:23:18 | 显示全部楼层
回复【3楼】马小跳life:
---------------------------------
1,DCMI的DMA可以自动组合数据的,具体细节看参考手册。
2,换成u16,没问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 15:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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