日期:2014-05-16  浏览次数:20592 次

100分请教一下如何设置ov9650的摄像头寄存器设置---在友善之臂中使用
本人想借用友善之臂中ov9650驱动,可是,输出的图像延迟太大了,我使用了很多方法,可是还是有延迟
下面是我的要求:图像采用VGA模式,640*480分辨率,要获得240*320的图像大小,要保证图像没有延迟,请大家帮帮我吧,我把全部分都给你们了。

------解决方案--------------------
不太会这方面的 等待大牛们
------解决方案--------------------
http://www.eetop.cn/bbs/thread-158289-1-1.html
------解决方案--------------------
有可能需要微调参数。 

当然也有可能是程序本身就有些问题。
就凭这么点信息很难判断
------解决方案--------------------
一般都有专门的亮度的,可能是没有找到。
------解决方案--------------------
ov9650 的采集速率本来就不怎么高
你具体想要什么样的速率啊?
------解决方案--------------------
非常完整与详细的摄像头模块OV9650的资料:
http://download.csdn.net/source/2006274
------解决方案--------------------
640*480分辨率,要获得240*320的图像大小 这个是不能实现的,获得的图片应该是640*480的
输出的图像延迟太大了 你的数据量太大了,从缓存中拷贝需要时间的,这是一个原因,你的延迟多大??
你可以试着改改分辨率,看看效果会好一些不

还有一点,你的IIC是用的内部IIC还是IO口模拟的??
------解决方案--------------------
OV9650摄像头,我们是不能通过寄存器调整他的亮度和对比度的,这个是厂家设定的,所以楼主想调整 是很困难的 除非找厂家,呵呵

想调整亮度,找个亮点的环境下拍照吧,效果会好点的

至于拉伸图像,这个-------------呵呵,更困难
------解决方案--------------------
如果你选择RGB输出,不只是要改0x12这个寄存器的,还有其他的要修改,你可以在驱动中看到 每种模式都是有一个数组表示,说明每种模式,都有它对应的寄存器设置

RGB 正常的是888形式,也就是 R G B每个8位 565 是R是5份 G是6份 B是5份 
这个不只是有寄存器设置的,还有有CAMINFO倒数第三项决定的 一般我们都用565模式,16位的,不太失真,处理器好处理 RGB数据 得到的就是一个十六位双字节的数据

 
typedef struct _CAMINFO
{
unsigned int cam_type; /*摄像头类型 */
unsigned int src_type; /*采集源像素*/

unsigned int dst_x; /*CODE x*/
unsigned int dst_y; /*CODE y*/
unsigned int dst_fmt; /*0:YUV420 1:YUV422*/

unsigned int pre_x; /* preview x */
unsigned int pre_y; /* preview y */
unsigned int pre_fmt; /* 0:RGB565 1:RGB888*/

unsigned int win_Hoff; 
unsigned int win_Voff;

} CAMINFO, *LPCAMINFO;
------解决方案--------------------
我的图像太黯淡了,对比度也不高,请问ov9650哪些寄存器是调节亮度和对比度的
-------- 把采集的帧速度降下来,效果就会好一些。VGA尺寸的输出,ov9650的代理一定给了你N种帧频的配置参数,在实现功能的情况下,尽量采用低帧频参数。

我还想实现的效果是拉伸图像
-------- 这个不要在sensor上折腾,2440的camif codec有这个功能。

那个酷毙了的绿色画面,通常是sensor的输出格式与codec的输入要求配置不一致引起,例如sensor输出UYUV,codec要求YUYV,这个现象当年我在调试camif driver时遇到过的。

16位RGB格式(两个字节):RRRRRGGGGGGBBBBB,例:
全红:0x1F<<11
全绿:0x3F<<5
全蓝:0x1F