智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2576|回复: 6
打印 上一主题 下一主题

跪求线性ccd双峰法处理例程

  [复制链接]

20

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
806
威望
472
贡献
186
兑换币
262
注册时间
2014-1-17
在线时间
74 小时
毕业学校
辽宁工程技术大学
跳转到指定楼层
1#
发表于 2014-5-4 00:37:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
15贡献
发到我邮箱962950706@qq.com   先谢过了,真在网上找不到例程

回复

使用道具 举报

4

主题

215

帖子

0

精华

高级会员

Rank: 4

积分
950
威望
490
贡献
234
兑换币
314
注册时间
2013-11-5
在线时间
113 小时
毕业学校
棣棠中心校
2#
发表于 2014-5-4 01:22:04 | 只看该作者
帮顶
回复

使用道具 举报

38

主题

446

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6490
威望
4804
贡献
650
兑换币
1264
注册时间
2014-3-19
在线时间
518 小时
3#
发表于 2014-5-4 11:23:47 | 只看该作者
帮忙顶个    一起交流下  645106160@qq.com
回复

使用道具 举报

6

主题

115

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
453
威望
261
贡献
162
兑换币
69
注册时间
2013-5-3
在线时间
15 小时
毕业学校
ssss
4#
发表于 2014-5-4 11:31:44 | 只看该作者
这都要跪
回复

使用道具 举报

16

主题

310

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2194

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

威望
1065
贡献
569
兑换币
675
注册时间
2014-1-7
在线时间
280 小时
5#
发表于 2014-5-4 18:03:42 | 只看该作者
我想知道什么是双峰法....难道我想歪了?
回复

使用道具 举报

2

主题

27

帖子

0

精华

金牌会员

.

Rank: 6Rank: 6

积分
1044
威望
494
贡献
348
兑换币
308
注册时间
2013-1-7
在线时间
101 小时
6#
发表于 2014-5-5 12:58:37 | 只看该作者
是经过一次求导后的吧
回复

使用道具 举报

3

主题

11

帖子

0

精华

高级会员

Rank: 4

积分
839
威望
400
贡献
221
兑换币
258
注册时间
2016-2-15
在线时间
109 小时
毕业学校
东大
7#
发表于 2016-2-21 08:40:24 | 只看该作者
//-----------------------------------------前瞻是60cm-------------------------------------------
uint8 pixel2_min=40;
uint8 pixel2_max;
uint8 lad2=5;
uint8 ccd2_last_latch;
unsigned char white_value2=0;       //用于记录白色灰度的值
unsigned char black_value2=0;       //用于记录黑色灰度的值

//**************************************************************************************************
                              //双峰直方图测动态阀值
//**************************************************************************************************
uint8 ccd2_rere_left,ccd2_re_left;   
uint8 black_latch2=0;
uint8 white_latch2=LATCH_LINE;//  white_latch=34
void get_latch2(void) //双峰直方图测动态阀值     //如ccd2_rere_left果出现问题,请检查电池是否有电
{  
   uint8 i=0;   
   pixel2_max=pixel2_min+lad2*34;  
   for (i=0;i<LATCH_LINE;i++)
      line_latch[i]=0;                       //灰度值数组初始化  
   for (i=8;i<=120;i++)                           //目前取的是从8到120个点
      if(pixel2[i]>pixel2_min&&pixel2[i]<pixel2_max)  //舍去太大或太小的点
          line_latch[(pixel2[i]-pixel2_min)/lad2]++;  //相应灰度值的组别对应的+1
   total=line_latch[LATCH_LINE-1]+line_latch[LATCH_LINE-2]+line_latch[LATCH_LINE-3];
   //白点方向的连续三组分布总和  
   for(i=LATCH_LINE-2;i>1;i--)  //找连续三组和最大的地方
   {
      if(line_latch[i]+line_latch[i-1]+line_latch[i-2]>=total)
      {
          total=total+line_latch[i-2]-line_latch[i+1];   //向暗处移动,找白色的最大分布点
      }
      else
      {
          white_latch2=i;   //此处为白线灰度
          break;
      }
   }
   total=line_latch[0]+line_latch[1]+line_latch[2]; //黑点方向的连续三组分布总和
   for(i=1;i<LATCH_LINE-2;i++)
   {
      if(line_latch[i]+line_latch[i+1]+line_latch[i+2]>=total)
      {
          total=total+line_latch[i+2]-line_latch[i-1];  //向亮处移动,找黑色的最大分布点                                                                           
      }
      else                                   
      {                                                      
          black_latch2=i; //此处为黑线灰度                                 
          break;
      }
   }                                                                                                                     
   latch_space=char_abs(white_latch2-black_latch2);             //黑白峰间距
   if(latch_space>=2)
    {
         ccd2_latch=(black_latch2+white_latch2)/2;                //图像检测阀值
         //比较阀值数组附近的两组,得出数据点最少的一组作为阀值点
         latch1 = line_latch[ccd2_latch] < line_latch[ccd2_latch-1]? ccd2_latch:ccd2_latch-1;
         latch2 = line_latch[ccd2_latch] < line_latch[ccd2_latch+1]? ccd2_latch:ccd2_latch+1;
         ccd2_latch = line_latch[latch1]<line_latch[latch2]?latch1:latch2;                                      
         ccd2_latch=ccd2_latch*lad2+pixel2_min+1;  //具体可能还需要进行调整
         ccd2_last_latch=ccd2_latch;
    }
   else
   {
     ccd2_latch=ccd2_last_latch;
   }
   white_value2=white_latch2*lad2+pixel2_min;
   black_value2=black_latch2*lad2+pixel2_min;
}


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 15:19 , Processed in 0.230528 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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