智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 7026|回复: 19
打印 上一主题 下一主题

[摄像头] 黑线提取程序

  [复制链接]

4

主题

31

帖子

0

精华

高级会员

Rank: 4

积分
656
威望
407
贡献
75
兑换币
0
注册时间
2010-9-30
在线时间
87 小时
跳转到指定楼层
1#
发表于 2011-4-29 18:12:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
这是摄像头采集的图像发送到串口的显示
哪位大侠指点下我   黑线提取程序要怎么弄   下面这程序死活都不行   还望指点迷津
void GetBlackline()
{
   char i=0,j=0,leftj,rightj;   
   int temp=0;  
   unsigned char left=0,right=0,left_flag=0,right_flag=0;
   Line_Center[ROW_VALUE-1]=Line_Center[0];//
   /////图像前部分用边缘检测法
   for(i=37;i>=1;i--) //i>=0ROW_VALUE-1ROW_MID
   {   
     left=0; //左右跳变清零
     right=0;
     for(j=5;j<=66;j++) //两边搜索 最边界干扰略去
       {
        if(Image[j]>Image[j+1]) //)&&(Image[j]==Image[j-1])
          {
           leftj=j;
           left=leftj;       //从左到右第一个由白跳变为黑的点
           left_flag++;    //记录黑白跳变个数
          }
        if(Image[j]<Image[j+1])
          {
           rightj=j;
           right=rightj;//COLUMN_VALUE-j;//从右到左第一个由白跳变为黑的点
           right_flag++;      // 记录黑白跳变个数
          }
       }               //////////求黑线的中心      
     if((left_flag>=1) && (right_flag>=1))     
     {
       left_flag=0;  //清零,这是必须的
       right_flag=0;   
       if((right-left)>2&&(right-left)<10)   
     {  
       Line_Center=(right+left+1)/2; //过滤过宽过细的黑线                           
      _asm(nop);
      }
    else   /////////////////过宽过细黑线进行插值
     {      
      left_flag=0;  //清零,这是必须的
      right_flag=0;
      if(i>=ROW_VALUE-3)
       {
         Line_Center[i-1]=Line_Center;
       }
      else
       {
         temp=2*Line_Center[i+1]-Line_Center[i+2];
         if(temp>70)                    
           temp=70;
         if(temp<0)                 
           temp=0;  
         Line_Center=temp;
       }
     }
   }
}    /////图像后部分用边缘检测法

45

主题

897

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4570

热心会员奖章推广达人奖章优秀会员奖章活跃会员奖章

QQ
威望
2734
贡献
1368
兑换币
803
注册时间
2011-11-30
在线时间
234 小时
2#
发表于 2012-2-16 16:55:24 | 只看该作者
看看
回复

使用道具 举报

45

主题

897

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4570

热心会员奖章推广达人奖章优秀会员奖章活跃会员奖章

QQ
威望
2734
贡献
1368
兑换币
803
注册时间
2011-11-30
在线时间
234 小时
3#
发表于 2012-2-16 16:58:52 | 只看该作者
请问if(Image[j]>Image[j+1])和  if(Image[j]<Image[j+1])
这个是啥意思?
回复

使用道具 举报

4

主题

56

帖子

0

精华

高级会员

Rank: 4

积分
806
威望
505
贡献
143
兑换币
28
注册时间
2011-11-12
在线时间
79 小时
4#
发表于 2012-3-7 22:02:47 | 只看该作者
看看 哈哈哈
回复

使用道具 举报

4

主题

56

帖子

0

精华

高级会员

Rank: 4

积分
806
威望
505
贡献
143
兑换币
28
注册时间
2011-11-12
在线时间
79 小时
5#
发表于 2012-3-7 22:03:01 | 只看该作者
笑纳了
回复

使用道具 举报

6

主题

124

帖子

0

精华

高级会员

Rank: 4

积分
712
QQ
威望
488
贡献
146
兑换币
3
注册时间
2012-2-12
在线时间
39 小时
6#
发表于 2012-3-11 21:21:09 | 只看该作者
,光电的路过:lol:lol:lol:lol:lol
回复

使用道具 举报

5

主题

262

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2535

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

威望
1370
贡献
661
兑换币
162
注册时间
2012-1-31
在线时间
252 小时
7#
发表于 2012-3-26 17:23:43 | 只看该作者
...........
回复

使用道具 举报

3

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
威望
227
贡献
45
兑换币
19
注册时间
2012-3-4
在线时间
15 小时
毕业学校
安徽工业大学
8#
发表于 2012-4-25 19:36:21 | 只看该作者
看懂了
回复

使用道具 举报

3

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
272
威望
191
贡献
51
兑换币
0
注册时间
2012-3-12
在线时间
15 小时
9#
发表于 2012-5-5 10:39:16 | 只看该作者
写的好有特点啊、、、、
回复

使用道具 举报

8

主题

53

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3079

优秀会员奖章

威望
2541
贡献
480
兑换币
0
注册时间
2012-5-28
在线时间
29 小时
毕业学校
湖北
10#
发表于 2012-6-1 15:19:06 | 只看该作者
dongyunlong 发表于 2012-2-16 16:58
请问if(Image[j]>Image[j+1])和  if(Image[j]

应该是黑线边缘的吧   作为跳变捕捉条件
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 19:15 , Processed in 0.097855 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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