找回密码
 注册
搜索
查看: 1586|回复: 15

[讨论] 拍出来的图片严重偏暗~~求助

[复制链接]
发表于 2010-8-9 14:50:39 | 显示全部楼层 |阅读模式
<img src="attachments/dvbbs/2010-8/2010891450473499.jpg" border="0" onclick="zoom(this)" onload="if(this.width>document.body.clientWidth*0.5) {this.resized=true;this.width=document.body.clientWidth*0.5;this.style.cursor='pointer';} else {this.onclick=null}" alt="" />


小弟我用ov3640拍出的照片,图片严重偏暗,怎么回事阿?
我设置的寄存器是sensor直接输出jpeg的数据,我在写这套jpeg寄存器的之前把所有寄存器reset了一遍(因为我预览和拍照的寄存器使用的不一样),所以拍照的时候得重新初始化一遍

请问各位这个怎么调?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2010-8-10 15:40:36 | 显示全部楼层
以下是引用oscar8964在2010-8-9 22:35:44的发言:
每次曝光前(设置曝光时间和增益),不需要做reset.


现在我在预览和拍照的时候都设了暴光时间和增益(拍照的时候增益调的比较大了),也没有reset了,但是有时还是会色彩有点暗,

我要是用同样的寄存器,延时时间设长点,效果明显感觉会好,感觉还是sensor那边设了寄存器后需要一定的时间稳定,请问您以前碰到国这个问题吗?怎么解决的阿
点评回复

使用道具 举报

发表于 2010-8-9 22:35:44 | 显示全部楼层
每次曝光前(设置曝光时间和增益),不需要做reset.
点评回复

使用道具 举报

发表于 2010-8-9 21:55:05 | 显示全部楼层
把gain拉起来试试
点评回复

使用道具 举报

 楼主| 发表于 2010-8-9 21:33:59 | 显示全部楼层
以下是引用oscar8964在2010-8-9 19:33:14的发言:
30s????呵呵有点夸张吧。如真是这样。那要好好研究是sensor的工作状态。以及你的reset位置与曝光位置的关系?
曝光位置:是指你设置曝光寄存器和增益寄存器位置。



有点没弄懂你说的位置是什么意思,我的寄存器就是一个结构体数组,你是指reset寄存器在这个数组中的位置和曝光相关寄存器在数组中的位置之间的关系??


这个也有影响吗??
点评回复

使用道具 举报

发表于 2010-8-9 19:33:14 | 显示全部楼层
30s????呵呵有点夸张吧。如真是这样。那要好好研究是sensor的工作状态。以及你的reset位置与曝光位置的关系?
曝光位置:是指你设置曝光寄存器和增益寄存器位置。
点评回复

使用道具 举报

发表于 2010-8-9 19:27:03 | 显示全部楼层
1、图片偏暗应该是你reset后sensor 与AE相关的register被reset掉了,导致AE没有做好图片偏暗。
2、delay 30s之后sensor那边AE做好了,所以你拍出的照片是对的了。


[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

 楼主| 发表于 2010-8-9 15:10:23 | 显示全部楼层
发现了问题的所在,因为拍照时写入寄存器后还没稳定就取出数据,导致色彩不对,我在代码里延时了30s后再取数据就是对的了,但是还是没解决问题,怎么能让寄存器稳定下来
点评回复

使用道具 举报

 楼主| 发表于 2010-8-9 14:51:08 | 显示全部楼层
希望大家帮我看看~~~ 谢谢
点评回复

使用道具 举报

 楼主| 发表于 2010-8-14 23:29:15 | 显示全部楼层
以下是引用fred_889在2010-8-14 0:40:50的发言:
preview 时sensor输出YUV,snap的时候sensor输出jpeg是可以的,如果进行了转换还是有问题那我觉得是否是你的转换公式有问题。


恩,上周五试了下,这个应该不是问题,转换公式是我找fae要的,那得东西比较专业和复杂,看得也不太懂,请问你以前做这个得时候,将sensor的寄存器设下去后,再取数据前做过延时吗??
点评回复

使用道具 举报

发表于 2010-8-14 00:40:50 | 显示全部楼层
preview 时sensor输出YUV,snap的时候sensor输出jpeg是可以的,如果进行了转换还是有问题那我觉得是否是你的转换公式有问题。
点评回复

使用道具 举报

发表于 2010-8-13 10:25:48 | 显示全部楼层
输出jpeg只是sensor吧yuv数据压缩了下而已,对图像亮度不影响的。
点评回复

使用道具 举报

 楼主| 发表于 2010-8-12 11:17:43 | 显示全部楼层
以下是引用fred_889在2010-8-10 21:57:00的发言:
preview和snap size不一样,你在preview的时候size较小,这个时候的曝光行数应该比snap的时候少,如果你从preview直接切到snap 时候的size后拍照,这个时候的曝光行数还是preview的,导致曝光时间过短,照片很暗。
如果你在snap延时30S后照片正确,这个时候sensor那边的AE会在snap size下重做,这时候曝光行数和gain都是有调整的,所以亮度正常。
解决办法:在snap的时候读出preview时候的曝光行数的寄存器,然后做一个曝光时间的转换,将得到的曝光行数写到sensor寄存器里面。



我按你的方法试了一下,照着一个应用手册上面的算法,进行了转换,还是有点问题
我现在有个疑惑就是:

我预览和拍照sensor出来的数据类型是不一样的,preview是yuv422,snapshot是jpeg(这个得sensor内部自己进行压缩),我怀疑我这种设计方法是否可行,也就是说要么全部输出yuv422,然后snapshot的时候用软压缩成jpeg,要么就全部输出成jpeg,然后preview的时候我解压成yuv的数据,这样每次切换sensor里面的动作会比较小,

请问有使用我这种方式设计的吗???

谢谢~~~~
点评回复

使用道具 举报

 楼主| 发表于 2010-8-10 22:12:59 | 显示全部楼层
以下是引用fred_889在2010-8-10 21:57:00的发言:
preview和snap size不一样,你在preview的时候size较小,这个时候的曝光行数应该比snap的时候少,如果你从preview直接切到snap 时候的size后拍照,这个时候的曝光行数还是preview的,导致曝光时间过短,照片很暗。
如果你在snap延时30S后照片正确,这个时候sensor那边的AE会在snap size下重做,这时候曝光行数和gain都是有调整的,所以亮度正常。
解决办法:在snap的时候读出preview时候的曝光行数的寄存器,然后做一个曝光时间的转换,将得到的曝光行数写到sensor寄存器里面。



ok~~明天去试试看,然后再讨论,很谢谢你们啊
点评回复

使用道具 举报

发表于 2010-8-10 21:57:00 | 显示全部楼层
preview和snap size不一样,你在preview的时候size较小,这个时候的曝光行数应该比snap的时候少,如果你从preview直接切到snap 时候的size后拍照,这个时候的曝光行数还是preview的,导致曝光时间过短,照片很暗。
如果你在snap延时30S后照片正确,这个时候sensor那边的AE会在snap size下重做,这时候曝光行数和gain都是有调整的,所以亮度正常。
解决办法:在snap的时候读出preview时候的曝光行数的寄存器,然后做一个曝光时间的转换,将得到的曝光行数写到sensor寄存器里面。
点评回复

使用道具 举报

发表于 2010-8-10 17:05:32 | 显示全部楼层
请更新以下问题:
1)30s恢复正常曝光???不存在了吧?

关于你现在的问题,可否提供以下照片:
1)增益和曝光时间固定 ( 预览和拍照是一样的增益 )
2)对准同一个物体分别获取预览和拍照的图片,并贴上来
3)同时把你的增益和曝光时间写出

如预览的照片的亮度太亮了,就找个稍微暗点。目标图片就是预览的照片不能过曝也不能太暗。

把这些信息传上来。我们再来讨论。

[em13][em13]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

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

GMT+8, 2024-10-4 12:34 , Processed in 0.063516 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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