智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4103|回复: 8
打印 上一主题 下一主题

求线性CCD自适应曝光部分代码,求资料,求大神指点!!

[复制链接]

5

主题

102

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1042
威望
479
贡献
383
兑换币
262
注册时间
2013-8-16
在线时间
90 小时
跳转到指定楼层
1#
发表于 2014-3-1 15:49:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CCD白天晚上开灯不开灯差别太大了。白天跟瞎的一样。
自适应曝光是不是比动态阈值要好一些啊?

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

使用道具 举报

29

主题

777

帖子

0

精华

常驻嘉宾

简单的算法+完美的机械结构

Rank: 8Rank: 8

积分
4688

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

QQ
威望
2219
贡献
1497
兑换币
1390
注册时间
2013-11-8
在线时间
486 小时
2#
发表于 2014-3-1 16:04:47 | 只看该作者
感觉还是蓝宙ccd第一代好用点,什么2s啊,白天和和晚上差别很大
回复 支持 反对

使用道具 举报

5

主题

102

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1042
威望
479
贡献
383
兑换币
262
注册时间
2013-8-16
在线时间
90 小时
3#
 楼主| 发表于 2014-3-1 17:12:53 | 只看该作者
我们一起走过 发表于 2014-3-1 16:04
感觉还是蓝宙ccd第一代好用点,什么2s啊,白天和和晚上差别很大

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

那你用的什么CCD哇?白天晚上一样跑么?
回复 支持 反对

使用道具 举报

8

主题

427

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3745

优秀会员奖章活跃会员奖章

威望
1724
贡献
1033
兑换币
1170
注册时间
2013-2-1
在线时间
494 小时
4#
发表于 2014-3-1 22:37:51 | 只看该作者
蓝宙自适应不错的,不过用不好确实抓狂
回复 支持 反对

使用道具 举报

5

主题

102

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1042
威望
479
贡献
383
兑换币
262
注册时间
2013-8-16
在线时间
90 小时
5#
 楼主| 发表于 2014-3-2 09:43:51 | 只看该作者
liningbo888 发表于 2014-3-1 22:37
蓝宙自适应不错的,不过用不好确实抓狂

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

使用道具 举报

8

主题

427

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3745

优秀会员奖章活跃会员奖章

威望
1724
贡献
1033
兑换币
1170
注册时间
2013-2-1
在线时间
494 小时
6#
发表于 2014-3-2 12:25:41 | 只看该作者
colson 发表于 2014-3-2 09:43
求解您是怎么移植的或者你能和我分析一下整个流程么?

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

使用道具 举报

10

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
421
QQ
威望
244
贡献
111
兑换币
133
注册时间
2014-9-20
在线时间
33 小时
毕业学校
理工
7#
发表于 2014-11-2 12:36:58 | 只看该作者
表示不怎么懂
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

高级会员

Rank: 4

积分
546
威望
242
贡献
132
兑换币
149
注册时间
2015-1-5
在线时间
86 小时
毕业学校
曲阜师范大学
8#
发表于 2015-3-27 11:25:02 | 只看该作者
/*************************************************************************
*                           蓝宙电子工作室
*
*  函数名称: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;
}
回复 支持 反对

使用道具 举报

1

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
357
威望
203
贡献
98
兑换币
127
注册时间
2014-11-20
在线时间
28 小时
毕业学校
中山大学南方学院
9#
发表于 2015-4-16 19:53:05 | 只看该作者
赞赞
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-6 09:16 , Processed in 0.084452 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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