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文件就好了^_^
源码以及参考的文档见附件:
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。