智能车制作

标题: 求线性CCD自适应曝光部分代码,求资料,求大神指点!! [打印本页]

作者: colson    时间: 2014-3-1 15:49
标题: 求线性CCD自适应曝光部分代码,求资料,求大神指点!!
CCD白天晚上开灯不开灯差别太大了。白天跟瞎的一样。
自适应曝光是不是比动态阈值要好一些啊?

谁能给一点资料或者有一点点效果的自适应曝光的代码看看。谢谢啊!

作者: 我们一起走过    时间: 2014-3-1 16:04
感觉还是蓝宙ccd第一代好用点,什么2s啊,白天和和晚上差别很大
作者: colson    时间: 2014-3-1 17:12
我们一起走过 发表于 2014-3-1 16:04
感觉还是蓝宙ccd第一代好用点,什么2s啊,白天和和晚上差别很大

我觉得2S采回来的数据值都很高,没怎么了解过具体情况,不过我觉得应该是有加运放。。

那你用的什么CCD哇?白天晚上一样跑么?

作者: liningbo888    时间: 2014-3-1 22:37
蓝宙自适应不错的,不过用不好确实抓狂
作者: colson    时间: 2014-3-2 09:43
liningbo888 发表于 2014-3-1 22:37
蓝宙自适应不错的,不过用不好确实抓狂

求解您是怎么移植的或者你能和我分析一下整个流程么?

作者: liningbo888    时间: 2014-3-2 12:25
colson 发表于 2014-3-2 09:43
求解您是怎么移植的或者你能和我分析一下整个流程么?

在论坛里搜蓝宙电子线性CCD资料,蓝宙店主发的源程序,不错

作者: 车神帅杰    时间: 2014-11-2 12:36
表示不怎么懂
作者: 咖啡不加糖    时间: 2015-3-27 11:25
/*************************************************************************
*                           蓝宙电子工作室
*
*  函数名称:CalculateIntegrationTime
*  功能说明:计算曝光时间
*  参数说明:
*  函数返回:无
*  修改时间:2012-10-20
*  备    注:
*************************************************************************/

/* 曝光时间,单位ms */
u8 IntegrationTime = 10;
void CalculateIntegrationTime(void) {
extern u8 Pixel[128];
/* 128个像素点的平均AD值 */
u8 PixelAverageValue;
/* 128个像素点的平均电压值的10倍 */
u8 PixelAverageVoltage;
/* 设定目标平均电压值,实际电压的10倍 */
s16 TargetPixelAverageVoltage = 25;
/* 设定目标平均电压值与实际值的偏差,实际电压的10倍 */
s16 PixelAverageVoltageError = 0;
/* 设定目标平均电压值允许的偏差,实际电压的10倍 */
s16 TargetPixelAverageVoltageAllowError = 2;

    /* 计算128个像素点的平均AD值 */
    PixelAverageValue = PixelAverage(128,Pixel);
    /* 计算128个像素点的平均电压值,实际值的10倍 */
    PixelAverageVoltage = (unsigned char)((int)PixelAverageValue * 25 / 194);

    PixelAverageVoltageError = TargetPixelAverageVoltage - PixelAverageVoltage;
    if(PixelAverageVoltageError < -TargetPixelAverageVoltageAllowError)
    {
      PixelAverageVoltageError = 0- PixelAverageVoltageError ;
      PixelAverageVoltageError /= 2;
      if(PixelAverageVoltageError > 10 )
         PixelAverageVoltageError = 10 ;
       IntegrationTime -= PixelAverageVoltageError;
    }
    if(PixelAverageVoltageError > TargetPixelAverageVoltageAllowError)
    {
        PixelAverageVoltageError /= 2;
        if(PixelAverageVoltageError > 10 )
           PixelAverageVoltageError = 10 ;
        IntegrationTime += PixelAverageVoltageError;}

   
  //  uart_putchar(UART0,0XAA) ;
   
//   uart_putchar(UART0,PixelAverageVoltage) ;
//   uart_putchar(UART0,PixelAverageVoltageError) ;
//    uart_putchar(UART0,IntegrationTime) ;
    if(IntegrationTime <= 1)
        IntegrationTime = 1;
    if(IntegrationTime >= 100)
        IntegrationTime = 100;
}

作者: 烎忎    时间: 2015-4-16 19:53
赞赞




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2