OpenEdv-开源电子网

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

对ov7670在TFTLCD输出黑白图及调整分辨率的个人理解

[复制链接]

10

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2013-7-14
在线时间
3 小时
发表于 2013-7-18 23:07:07 | 显示全部楼层 |阅读模式
按照惯例,发帖前先废话一通,下面进入废话时间:本人开始接触摄像头的时候是菜鸟,现在依然是菜鸟,所以下面所说的可能会错漏百出或理解不透,大神就当笑话看吧,对于菜鸟呢,应该会有一点启发,毕竟事实摆在图片上。
  很久前和同学把在LCD显示的图像弄成大小为160*120灰度图像,配置是按网上资料改的,详见附件程序中储存ov7670配置的.h文件的开头几行,顺便啰嗦一下YUV格式是8:4:4格式,不是说高8位是Y值(灰度值),低8位中4位是U,4位是V,而是第一帧高8位是Y,低8位是U,下一帧高8位是Y,低8位是V这样是轮流来。反正有用的Y值每一帧都有就是了,然后直接把Y值变16位输到LCD上?这就会出现一个现象:显示的图像轮廓是对的,但有颜色(蓝色)啊!而且不是实际物体上的颜色! 下面进入个人理解时间:白色对应的Y:0XFFFFFFFF,黑色:0X00000000,但实际中白色对应的Y只是趋于0xffffffff而不是于它对等,而你的LCD还是RGB565,,这就导致B【5:0】的值不是二进制:11111而出现的蓝色,同学就把已含高8位的color这个变量(例程)先右移3位,然后用变量color模仿RGB565的格式组成一个二进制16位数的值输出给LCD,出来的效果很好。(PS:程序是很久以前的,刚拿出来修改了一下多余的地方,没测试过,不过相关配置是正确的,可以参考。或许有人问为什么不拿现在的呢?因为现在用的板是同学画的,有一些端口改了,而TFT和OV7670改端口的话很费劲,改回去可能错误的地方更多,下面附上图片)


 或许有人想改回全屏显示,对照例程把text.c这文件改回去,还有记得把时钟配置也要改回去,详见我上帖出现的问题和根据原子哥提示找到的解决办法。


接下来是我今天吐血看ov7670英文数据手册及调试的结果和出现的问题,望各路大神指点。
据我了解,Ov7670应该靠下图两个东东进行缩放分辨率,左边那个就是行场缩放规定的比例:1/2,1/4等等(主要配置寄存器0x3e/0x72/0x73)(PS:例程就是靠这个把原始数据640*480缩放成320*240并在LCD显示),右边那个是行场分别按自己设定的比例缩放(我是这么理解),搞了一天发现摄像头返回的像素还是320*240。最后在一个出现一条一条白色线的图像中发现焦距好像变了,然后把右边那个东东的英文名字百度一下,出现数码变焦关键字,**!这个东东是用来变焦的?英文数据手册怎么说是缩放比例?英文太渣理解错误?请各位大神告诉我这东东是不是用来变焦
的,如果是为什么会出现一条一条。如果不是那该怎么设置好?(附上得来不易的有间条的图片)




附件中含有中英文数据手册及在网上down下来的关于分辨率设置的资料,那几个寄存器像我这菜鸟一时半刻理解不了的话,关系也不大,因为例程已经把它编程函数,直接调用就可以了,要注意的是这个函数只适用于在二维数组中的配置设成QVGA格式才能用,因为VGA或其他格式和QVGA格式的时序图是不一样的(没测试过,好像是这样的。)






摄像头LCD显示实验(黑白).zip

2.87 MB, 下载次数: 8028

虽然走得慢,但总会向前走
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-7-19 00:37:04 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2013-7-4
在线时间
0 小时
发表于 2013-7-26 12:23:56 | 显示全部楼层
你有没有觉得图像质量差好多,有横纹和重影
回复 支持 反对

使用道具 举报

10

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2013-7-14
在线时间
3 小时
 楼主| 发表于 2013-7-26 13:29:05 | 显示全部楼层
回复【3楼】jjyyhuang:
---------------------------------
没发现你所讲的问题
虽然走得慢,但总会向前走
回复 支持 反对

使用道具 举报

9

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2013-7-22
在线时间
0 小时
发表于 2013-7-26 14:42:54 | 显示全部楼层
回复【4楼】Gops:
---------------------------------
请教LZ个问题。刚用摄像头,想先测试下。用的是mini板上的例程,没有修改,按照他的接线,结果出来的是花屏,闪动的很快。
然后我查看了下手册,修改了0x71寄存器值,发现可以出现8条彩纹,采集应该没问题。不知道LZ是否知道是怎么回事
回复 支持 反对

使用道具 举报

10

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2013-7-14
在线时间
3 小时
 楼主| 发表于 2013-7-26 17:06:14 | 显示全部楼层
回复【5楼】FS1360472174:
---------------------------------
有没显示ov7670 ok的字样?如果有且你没修改到例程,检查一下数据端口有没接错,如果没接错的话,看看是不是这个问题:http://www.openedv.com/posts/list/9359.htm
虽然走得慢,但总会向前走
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2013-8-26
在线时间
0 小时
发表于 2013-8-29 00:56:58 | 显示全部楼层
好贴,顶
回复 支持 反对

使用道具 举报

74

主题

293

帖子

0

精华

高级会员

Rank: 4

积分
628
金钱
628
注册时间
2014-1-8
在线时间
7 小时
发表于 2014-6-6 08:55:41 | 显示全部楼层
请问楼主,为什么我按照你的的程序缩放后感觉图像整体向左平移了,很奇怪,不知道是为什么,我就改了寄存器的配置
回复 支持 反对

使用道具 举报

74

主题

293

帖子

0

精华

高级会员

Rank: 4

积分
628
金钱
628
注册时间
2014-1-8
在线时间
7 小时
发表于 2014-6-6 09:26:31 | 显示全部楼层
看你的图,我就觉得应该一定是有偏移的,但是我不知道怎么让图像放在中间呢?希望能帮我解答一下,谢谢你!
回复 支持 反对

使用道具 举报

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-7-26
在线时间
1 小时
发表于 2015-3-13 19:02:40 | 显示全部楼层
那我用串口打印出来Y的值不对啊  黑色得到的值和白色是差不多的
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-11-11
在线时间
2 小时
发表于 2015-11-19 15:51:22 | 显示全部楼层
好贴!赞一个。
回复 支持 反对

使用道具 举报

7

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2016-11-8
在线时间
33 小时
发表于 2017-7-29 08:31:11 | 显示全部楼层
FS1360472174 发表于 2013-7-26 14:42
回复【4楼】Gops:
---------------------------------
请教LZ个问题。刚用摄像头,想先测试下。用的是mini ...

0x71最高位和0x70最高位是确定是否进行测试图像的
回复 支持 反对

使用道具 举报

1

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2017-6-1
在线时间
8 小时
发表于 2017-7-29 20:32:00 | 显示全部楼层
FS1360472174 发表于 2013-7-26 14:42
回复【4楼】Gops:
---------------------------------
请教LZ个问题。刚用摄像头,想先测试下。用的是mini ...

花屏应该是信号干扰的问题吧
回复 支持 反对

使用道具 举报

2

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2017-8-9
在线时间
30 小时
发表于 2017-8-10 10:55:06 | 显示全部楼层
感谢分享,不胜感激
回复 支持 反对

使用道具 举报

21

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2017-11-25
在线时间
80 小时
发表于 2018-4-27 11:31:11 | 显示全部楼层
你好,我看你分享的程序是QVGA格式,请问有没有第一张图里的160*120的程序,我最近很苦恼,7670数据手册只有VGA的时序图,并没有QCIF或是QQVGA的时序图
回复 支持 反对

使用道具 举报

21

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2017-11-25
在线时间
80 小时
发表于 2018-4-27 14:32:41 | 显示全部楼层
另外里面有个implementation guide  ,我按里面给的设置寄存器,出来的图像花屏,是不是除了里面指定的寄存器外,还需要设置其他的寄存器,请楼主指点迷津
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 12:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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