找回密码
 注册
搜索
查看: 1012|回复: 10

[讨论] OVSensor G通道问题

[复制链接]
发表于 2009-4-18 11:43:52 | 显示全部楼层 |阅读模式
各位大侠:
    近日调试OV7640和OV2640时发现图像出现大量的干扰点,经R G  B通道分解后发现是G通道出现的杂点,R和B通道比较正常。我使用的是RGB565的输出方式,数据格式为
rrrr rggg gggb bbbb,附上图片,大家帮忙分析一下。
 楼主| 发表于 2009-4-18 12:29:45 | 显示全部楼层

图片1

  [upload=jpg]UploadFile/2009-4/09418@52RD_001.jpg[/upload]
[upload=jpg]UploadFile/2009-4/09418@52RD_002.jpg[/upload]
[upload=jpg]UploadFile/2009-4/09418@52RD_003.jpg[/upload]
[upload=jpg]UploadFile/2009-4/09418@52RD_004.jpg[/upload]
点评回复

使用道具 举报

 楼主| 发表于 2009-4-18 12:36:10 | 显示全部楼层

原始图像

图像JPG之后有点模糊,这里有原始的BMP图像,大家帮忙分析一下。
【文件名】:09418@52RD_picture.rar
【格 式】:rar
【大 小】:183K
【简 介】:
【目 录】:
点评回复

使用道具 举报

 楼主| 发表于 2009-4-18 12:56:03 | 显示全部楼层
从图片上看到R和B通道比较正常,G通道有比较多的而且是连续的杂点,有点像丢bit了,但软件上又没看到错误的地方,大家给点建议。
点评回复

使用道具 举报

 楼主| 发表于 2009-4-20 09:22:06 | 显示全部楼层
问题已解决,结题。若想知道更详细情况,欢迎讨论!QQ386607812.
点评回复

使用道具 举报

发表于 2009-4-20 11:35:14 | 显示全部楼层
数据采集时丢失低位的bit,图像输出是ok?
[此贴子已经被作者于2009-4-20 13:30:18编辑过]
点评回复

使用道具 举报

发表于 2009-4-22 23:27:46 | 显示全部楼层
楼主可否将调试方法和产生的原因写一下,让大家都学习一下,谢谢!

只要人人值得都献出一点爱,世界将变成美好的人间!
点评回复

使用道具 举报

 楼主| 发表于 2009-4-23 16:07:26 | 显示全部楼层
其实我最开始用的是OV7640 RGB565的模式,结果发现无论怎样调都会出现上面的情况,oV7640和ov2640都是这样,只有ov7670的RGB565比较好,不知道是硬件原因还是软件的问题还是本人水平有问题,一直都没有解决。后来放弃了565模式,改用RAW RGB模式,还原后色彩就比较正常了,也算是解决了吧。如果有哪位人兄能用565解决上诉问题,麻烦上来交流一下。[br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

发表于 2009-4-30 18:23:03 | 显示全部楼层
呵呵,
我知道问题出在哪里。
点评回复

使用道具 举报

 楼主| 发表于 2009-5-4 10:45:00 | 显示全部楼层
chris_meng 兄
  你知道问题出在哪里?能不能说明白一点。
点评回复

使用道具 举报

发表于 2009-5-7 18:07:56 | 显示全部楼层
看:

       pixel1                         pixel2
   byte1     byte2            byte1    byte2
rrrr rggg | gggb bbbb  |   rrrr rggg | gggb bbbb
              --------------------------------
                        

千万不要如上把第一个pixel的byte2,拼上了pixel2的byte1,
然后又费了很大力气,试图去对齐颜色,

虽然,图像上,
“看似”(注意,是看似)R和B颜色对上了,但是G呢?

pixel1的byte2的G[4:2],拼上pixel2的byte1的G[7:5],
当做了接收到的第一个pixel的G[7:2],这就已经错了啦!!

为什么错了呢,你看G的图,用photoshop看,
那些花的数据的两侧,一定是找到很多的地方好像是错了+32或者-32
(其实还有更多可能性的错误)。


举例子,
pixel1 G=32,  pixel2 G=31,  错误的拼完了,得到的第一个pixel的G多少?

反过来,
pixel1 G=31,  pixel2 G=32,  又会如何?

解决,查清楚从hsync开始,第一个pixel的第一个byte在哪里,它抓到了没。
或者,你再跳过一个byte,从hsync开始,跳过2个byte就是跳过了1个pixel。
[br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-5 18:55 , Processed in 0.048968 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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