ov7670分辨率设置.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ov7670分辨率设置

OV7670 OV7670 关于OOV摄像头 的分辨率设置 最近一直在纠结如何把OV7670输出的 图片分辨率缩小,以减少数据量来适应数据的传输, 在网上看了好多也没有关于寄存器的具体设置,最终又读了几遍数据手册,加上网友们写的 帖子的启发,总结出如下结论,希望大家批评指正。 Ov7670 的寄存器中跟分辨率有关的寄存器主要是一下几个: 0x17 HSTART 输出格式-行频开始高八位(低三位在HREF[2:0]) 0x18 HSTOP 输出格式-行频结束高八位(低三位在HREF[5:3]) 0x19 VSTRT 输出格式-场频开始高八位(低二位在VREF[1:0]) 0x1A VSTOP 输出格式-场频结束高八位(低二位在VREF[3:2]) 0x03 VREF 位[3:2]VREF 结束的低两位(高八位见VSTOP[7:0] 位[1:0]VREF 开始的低两位(高八位见VSTOP[7:0] 0x32 HREF 读写HREF控制 位[5:3]:HREF结束的低3位(高8位在HSTOP) 位[2:0]:HREF结束的低3位(高8位在HSTOP) 网上给的一般的设置方式是这样的:QVGA RGB565 320*240 {0x32, 0x80}, {0x17, 0x17}, {0x18, 0x05}, {0x19, 0x02}, {0x1a, 0x7b}, {0x03, 0x0a}, 先把这几个寄存器的值计算一下可以发现设置是这样的 : HSTART HSTOP VSTART VSTOP 184 40 10 490 先看一下HREF的意义: 可以看出HREF的高电平宽度等于我们所要显示的一行像素的数据的个数: HREF = WEIGHT*2; 乘以二是因为每个像素点是有两个数据 HSTOP=START + HREF; 184 + 320*2 = 824; 可是HSTOP 是40; 这里的40是 824%784 得到的 为什么对784取余数可以看下数据手册中的这个图: 计算PCLK的参数,如下: VSYNC: 510* Line = 3*tLine + 15*tLine +480*tLine HREF: 784*tP = 640*tP + 144*tP HSYNC: 784*tP = 80*tP + 45*tP + 640*tP + 19*tP VGA RGB565, YUV 30fps: PCLK = 784 * 510 * 30 * 2(byte) == 24MHz 再看VGA 和QVGA 的区别: 通过这几幅图可以看出来 VSTART VSTOP 这两个寄存器决定了采集的行数也就是高度 VSTART = HEIGHT*2 + VSTOP; 通过比较QVGA和VGA 时序的区别可以看出 乘以二的 原因 这样我们就可以写一个简单的函数来设置OV7670的分辨率了 输入图像的行起始点,场起始点, 宽度 ,高度计算得到相应寄存器的值 编译环境:keil mdk void OV7670_config_window(u16 startx,u16 starty,u16 width, u16 height) { u16 endx=(startx+width*2)%784; u16 endy=(starty+height*2); u8 x_reg, y_reg; u8 state,temp; state = rdOV7670Reg(0x32, x_reg ); x_reg = 0xC0; state = rdOV7670Reg(0x03, y_reg ); y_reg = 0xF0; //设置HREF temp = x_reg|((endx0x7)3)|(startx0x7); state = wrOV7670Reg(0x32, temp ); temp = (startx0x7F8)3; state = wrOV7670Reg(0x17, temp ); temp = (endx0x7F8)3; state = wrOV7670Reg(0x18, temp ); //设置VREF temp = y_reg|((endy0x

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档