【求助】OV7660图像终于用串口传到电脑上了,但图像不清楚,部分颜色不正常(有图)
大家好,最近在大家的帮助下刚把OV7660图像时序问题解决,能显示图像了,如下图。但和真实的图像还是有挺大差别,太亮的地方显示不是很好。我给7660的XCLK是12Mhz,PCLK=XLCK/64=187.5Khz,图像是RGB565的。由于我对照相机专业技术不懂,请各位大大帮忙看看,这个是7660的寄存器没设置好?还是硬件有问题?还是……小弟不胜感谢!http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_581530TX47KV.jpg
(原文件名:问题图像.jpg)
下面这个是我用手机拍的图像,作对比。
http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_581529TRH3C8.jpg
(原文件名:正常图像.jpg) 这个原因可能有
一、各路供电电压不对
二、寄存器设置有问题。找一个别人可以成功的运转的寄存器设置表。 BMP格式图片是RGB555,不是 RGB565
*RRRRRGGGGGBBBBB 你可以1:设置OV7660为RGB555输出,直接转BMP发送PC
2:软件把RGB656转RGB555转BMP发PC 关注,楼主能否把上位机程序共享一下啊,我也想学习学习。 回复 【1楼】goooogleman 谷歌男
-----------------------------------------------------------------------
非常感谢你的建议,现在改了寄存器,图像稍微好了一些,一会上图 回复【4楼】ldmsunnyldm
-----------------------------------------------------------------------
你好,多谢支持,我没有用上位机程序,开始我也是一直在到处找,可是一直没有找到好用的,着急坏了。车道上前必有路,于是我使用 串口助手+WinHex,将每次发回来的数据通过WinHex复制到图像文件的数据区,这个方法虽然挺麻烦,但熟练就好了。(注意:WinHex粘贴的时候选择“ASCII Hex”格式) 图片和真实的 是镜像的 回复【3楼】wangguanfu
-----------------------------------------------------------------------
非常感谢大哥的建议,我试了,将图像格式改为RGB555的,现在图像比以前清楚了很多,但是还是没有想像中的清晰,在图片的有些地方,随着光线的变化会出现一些线条,如下图。不明白这是因为什么?还是寄存器设置吗?
这是320*240的原图
http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_581769BP6P0Y.JPG
(原文件名:BMP原图.JPG)
放大之后会清晰的看到那些线条
http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_581768WVV39P.JPG
(原文件名:BMP放大原图.JPG) 回复【7楼】avr_c
-----------------------------------------------------------------------
恩对,这个对图片质量影响应该不大吧~~ 回复【7楼】avr_c
图片和真实的 是镜像的
-----------------------------------------------------------------------
可以设置OV7660,再把图象180度反过来 回复【8楼】sunnydragon
请修改设置7660的GAMMA参数,另7660的图象本来就很一般,你应该换OV7670或OV7725(更好),还要好就MT9V136
-------------------------------------------------------------------------------------------------------
或者请设置为YUV422格式,然后再转为RGB888 回复【11楼】wangguanfu
-----------------------------------------------------------------------
哦了,我明天再改改试试。谢谢你的指点~./emotion/em007.gif 回复【11楼】wangguanfu
-----------------------------------------------------------------------
又照着你以前AVR驱动7660的程序,改了些寄存器的设置,还是用的RGB555,效果有了挺高,线条已经没有了。如下图。还得再改改寄存器,这东西是个体力活。有一点很郁闷,手册上写了某些寄存器保留的位,以为没用了,但设置和没设置完全两样,这个大大增加了调试难度,幸好有你以前的程序,省了很多事,向你的无私表示感谢~~以后会多帮你推广你的摄像头的,呵呵……
http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_581993AJMFKY.JPG
(原文件名:改进后的图片.JPG) 呵呵,挺好的,。前辈们,我的图像红色的灯显示成为蓝色,这个是怎么回事呢? 回复【14楼】h85968099
-----------------------------------------------------------------------
你是用LCD直接显示的还是发到电脑上做成图片显示的?
应该是你在生成图像的时候,RGB中的R(红)和B(蓝)数据位弄反了,你可以直接设置OV7660的寄存器让它发出的图像数据位,R和G颠倒。 回复【15楼】sunnydragon
-----------------------------------------------------------------------
谢谢楼上,我是直接放到LCD显示的,我试试设置RG颠倒 回复【15楼】sunnydragon
-----------------------------------------------------------------------
是这样的,我配置输出8条彩色带,LCD上面能够正常显示,但是我配置输出图像的时候颜色就不行了,刚才找了一个没有找到那个你说的反向的寄存器,还请告诉一下,谢谢了 回复【17楼】h85968099
-----------------------------------------------------------------------
不好意思,是我记错了,OV7660里没有颠倒R和B的寄存器,但LCD控制器一般都有这样的寄存器(例:9325),你看下你的是怎么设置的。
实在不行,可以在程序上稍作改动就可以让发送到LCD的R和B数据颠倒。 mark! 回复【18楼】sunnydragon
-----------------------------------------------------------------------
哦,没事,我的是7670,呵呵,好像有,YUYV那个颠倒什么的,呵呵,试试 【11楼】 wangguanfu
借此贴问一下11楼的wangguanfu兄弟,能不能共享一下MT9V136寄存器的详细说明?谢谢 楼主还在吗 回复【22楼】wfits521
-----------------------------------------------------------------------
一直都在~~怎么了? 你好lz,请问下,你做的这个是否是一个摄像头的驱动啊? 回复【24楼】wangxux86
-----------------------------------------------------------------------
恩~~是用Atmel的AT91SAM7S64直接驱动在wangguanfu大哥那买的OV7660摄像头。 楼主,可否加偶QQ讨论个问题,251478105 回复【26楼】wfits521
-----------------------------------------------------------------------
恩,好的,我的QQ:383016632。 mark! 看来 我也要从wangguanfu
那搞个摄像头来 玩玩 heheh 为啥转qq聊了呢? 回复【楼主位】sunnydragon
-----------------------------------------------------------------------
怎么样吧ov7660采集的图像和电脑相连????????谢谢诶,很急呀
页:
[1]