OV7670摄像头实验,任意窗口输出,灰度输出(战舰开发板)

2019-07-21 02:59发布

1.实验描述:  通过config_ov7670_OutPut(u16 xsta,u16 ysta,u16 width,u16 height,u8 ouput_mode)可以设置摄像头显示图片的位置,窗口的大小,显示的模式(彩 {MOD}还是灰度)。
2.说明:   灰度输出:将摄像头设置输出为YUV格式(YUYV输出,意思就是第一个字节是Y,第二个字节是U,第三个字节是Y,第四个字节是V轮流输出),取Y分量,去掉U,V,并将Y分量转换为RGB565就可以显示灰度图像了。
3.如何提高帧数:   a:提高摄像头输出的帧数   当ov_sta==2的时候们才开始显示图像。如果摄像头能输出30FPS,那么在液晶显示速度足够的情况下,最多只能显示15FPS,所以想要提高显示帧率可以提高摄像头输出的帧率。   这里有一个公式:1s=510*784*2*2*PCLK*摄像头输出帧数。(至于原理可以看下时序图) 。这里初始化的代码设置的像素输出时钟PCLK为48MHZ,所以我们只能输出30FPS,可以通过设置0x6b将PCLK的时钟设置为96MHZ(最高了,外部输入时钟为12MHZ 这了8倍频),那么就可以输出60FPS,就可以提高显示的帧率了。   b:送数据的显示速度,例如 用FSMC控制液晶,快速IO,移位等等。
4.如何调试: 利用usmart调试摄像头很方便的哦, 将函数config_ov7670_OutPut(u16 xsta,u16 ysta,u16 width,u16 height,u8 ouput_mode)和SCCB_WR_Reg(u8 reg,u8 data)添加到usmart_config.c文件就好了^_^
源码以及参考的文档见附件:
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
一号zhong
1楼-- · 2019-07-22 12:26
回复【13楼】正点原子:
---------------------------------
看了一下手册,好像设置6b的【7:6】位,01:x4倍,10:x6倍,11:x8倍。是不是像素时钟越高,场中断的时间越少吗??这里的提高帧率是什么意思???场中断是固定33ms???
一号zhong
2楼-- · 2019-07-22 17:28
 精彩回答 2  元偷偷看……
一号zhong
3楼-- · 2019-07-22 18:21
 精彩回答 2  元偷偷看……
正点原子
4楼-- · 2019-07-22 20:54
回复【15楼】一号zhong:
---------------------------------
搞这么多,ov会跑飞吧?
ov可以跑96M么?
中北的秋雨
5楼-- · 2019-07-23 00:20
想用stm32驱动线性CCD做一个循迹小车,不知楼主有没有例程参考一下,感激不尽。
YTCH2014
6楼-- · 2019-07-23 00:25
原子哥,这个代码怎么编译不过去呢,编译结果显示:
..OBJOV7670.axf: error: L6047U: The size of this image (34208 bytes) exceeds the maximum allowed for this version of the linker
程序是我直接下载下来然后编译的!请问这是什么问题?

一周热门 更多>