大家好,
我看到Appro网站上有DM368+IMX122的开发套件.因此在原有基于Appro DM368-MT5的开发套件的基础上,使用自己设计的IMX122,进行调试.该IMX122感光板在海思的平台上测试ok.可是接上DM368后,测试抓图如下:
使用TI 2A模式后,视频整体色彩偏绿,红色、蓝色和黑色都基本正常。我们修改了Appro的alg_aewb.c文件进行白平衡调整,可是变化不大。不知道哪里有问题?请大家帮忙看看。谢谢。
Eason Wang:
你抓到raw之后,解出来效果怎样
zhang lei2:
回复 Eason Wang:
当我不使用2A功能时,图像基本正确,整体偏暗。没有偏绿的现象。
谢谢。
Eason Wang:
回复 zhang lei2:
你有做过黑电平校准、白平衡和色彩空间转换吗
zhang lei2:
回复 Eason Wang:
你好:
我们已经作过黑电平校准,但是似乎对颜色偏绿没有影响;在Appro的开发包里面已经对色彩空间进行了转换,我们没有进行改动.
主要是白平衡,我们也怀疑是白平衡的问题.但是我们发现,分别改动了alg_aewb.c文件中关于RGB三色的增益,对于TI的2A似乎没有明显的改变,而对Appro的2A有明显的色彩变化。主要是不理解TI的2A对白平衡配置文件中那些配置参数的含义。仅仅能对GAIN进行改动,对于一些数组和结构体不敢贸然进行改动,比如:
alg_aewb.c文件中的:
static AWB_PARAM ipipe_awb_gain = { 200, 256, 256, 350, 256 };
#if (1) /* for Tamron (Auto Iris) + ND Shutter IRC. */
Aew_ext_parameter.EngineerCfg.AwbCfg.IsUpdateCal = 1;
Aew_ext_parameter.EngineerCfg.AwbCfg.LDegree = 2800;
Aew_ext_parameter.EngineerCfg.AwbCfg.LRgain = 203;
Aew_ext_parameter.EngineerCfg.AwbCfg.LBgain = 408;
Aew_ext_parameter.EngineerCfg.AwbCfg.HDegree = 6000; //6500 色温我们也修改过,没有效果
Aew_ext_parameter.EngineerCfg.AwbCfg.HRgain = 323;
Aew_ext_parameter.EngineerCfg.AwbCfg.HBgain = 198;
Aew_ext_parameter.EngineerCfg.AwbCfg.User_AutoWide_Hdegree = 8000;
Aew_ext_parameter.EngineerCfg.AwbCfg.User_AutoWide_Ldegree = 2500;
Aew_ext_parameter.EngineerCfg.AwbCfg.User_AutoNormal_Hdegree = 6500;
Aew_ext_parameter.EngineerCfg.AwbCfg.User_AutoNormal_Ldegree = 4000;
for(i=0;i<sizeof(Aew_ext_parameter.EngineerCfg.AwbCfg.User_ModeRgain)/sizeof(Aew_ext_parameter.EngineerCfg.AwbCfg.User_ModeRgain[0]);i++){
Aew_ext_parameter.EngineerCfg.AwbCfg.User_ModeRgain[i]= 200;
Aew_ext_parameter.EngineerCfg.AwbCfg.User_ModeBgain[i]= 200;
}
Aew_ext_parameter.EngineerCfg.AwbCfg.Global_Rgain = 100; //以下三个变量修改有明显的变化
Aew_ext_parameter.EngineerCfg.AwbCfg.Global_Ggain = 100;
Aew_ext_parameter.EngineerCfg.AwbCfg.Global_Bgain = 100; /* RGB */
Aew_ext_parameter.EngineerCfg.RGBCfg.BlackOfset_R = 0;
Aew_ext_parameter.EngineerCfg.RGBCfg.BlackOfset_G = 0;
Aew_ext_parameter.EngineerCfg.RGBCfg.BlackOfset_B = 0;
Aew_ext_parameter.EngineerCfg.RGBCfg.RGBtoRGB[0][0] = UserRGBtoRGB[0][0];
Aew_ext_parameter.EngineerCfg.RGBCfg.RGBtoRGB[0][1] = UserRGBtoRGB[0][1];
Aew_ext_parameter.EngineerCfg.RGBCfg.RGBtoRGB[0][2] = UserRGBtoRGB[0][2];
Aew_ext_parameter.EngineerCfg.RGBCfg.RGBtoRGB[1][0] = UserRGBtoRGB[1][0];
Aew_ext_parameter.EngineerCfg.RGBCfg.RGBtoRGB[1][1] = UserRGBtoRGB[1][1];
Aew_ext_parameter.EngineerCfg.RGBCfg.RGBtoRGB[1][2] = UserRGBtoRGB[1][2];
Aew_ext_parameter.EngineerCfg.RGBCfg.RGBtoRGB[2][0] = UserRGBtoRGB[2][0];
Aew_ext_parameter.EngineerCfg.RGBCfg.RGBtoRGB[2][1] = UserRGBtoRGB[2][1];
Aew_ext_parameter.EngineerCfg.RGBCfg.RGBtoRGB[2][2] = UserRGBtoRGB[2][2];
Aew_ext_parameter.EngineerCfg.RGBCfg.IsRunUserR2R = 1;
上述的RGBtoRGB数组我们不理解,所以也无法修改。
Tuff Li:
回复 zhang lei2:
Appro的2A基本上可调的范围不大,请使用TI 2A并且配合调试工具来调整图像
请联系TI经销商,获得最新的IPNC软件包,里面已经支持了IMX122
zhang lei2:
回复 Tuff Li:
你好:
我们在调试DM368+IMX122时,发现在drv_imgsIsifCfg_IMX122_2MP.c文件中
DRV_ImgsIsifConfig gDRV_imgsIsifConfig_Common = {
.ccdcParams = { .hLpfEnable = FALSE,
// .inDataMsbPosition = CSL_CCDC_MSB_POSITION_BIT13,
.inDataMsbPosition = CSL_CCDC_MSB_POSITION_BIT11,
中最高有效位的定义与我们的电路设计不一致,导致了偏色,修改后IMX122采集的图像正常了.
不过现在有个新问题:
我们发现在镜头对着玻璃时图像发红,其他情况下图像正常:
图像左侧有窗户遮挡,背景为天空,图像右侧的建筑物色彩正常.不知道这个应该怎样调?
bojiang zhou:
回复 Tuff Li:
您好 Tuff Li
我也遇到了同样的问题,根据您的回答,我打算从经销商获取新版IPNC_RDK代码。
请问您能告诉我哪个IPNC_RDK版本的TI算法能支持IMX122吗?
谢谢!
yong kuang:
您好,用的DM365+IMX122,我们用IIC去驱动,现在可以对寄存器进行读写了,但是就是不能出来图像数据。请问您是怎么驱动的呢?能给个指导吗?谢谢!
bojiang zhou:
回复 yong kuang:
我是用spi驱动的
Eason Wang:
回复 yong kuang:
你说的出不来图像数据,是说你采集不到,还是在sensor到DM365的接口连线上面测量不到?
sensor本身一般来说都有默认的配置的,你去找找看手册上是不是这样说。是否就释放某个复位管脚/寄存器之类的就能让sensor跑起来。
你先量到sensor出来的时钟和数据再说吧