智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

黑线提取

[复制链接]

13

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
638
QQ
威望
341
贡献
137
兑换币
203
注册时间
2014-7-1
在线时间
80 小时
跳转到指定楼层
1#
发表于 2014-8-8 21:42:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void GetBlack(void)
{

    byte i;                               //循环变量
    byte flag1,flag2;                  //左右黑线寻找标志数
    byte *line ;
    line = plat0 ;

    flag1=0;
    flag2=0;

//取得上一次数据   
    Q_lx = Lx;(Lx和Rx是表示什么意思?)
    Q_rx = Rx;

//===============1.得到黑线(隔3作差)=================//
    for(i=left_begin;i>3;i--)    //left_begin-->3
    {
        if((*(line+i)-*(line+ i-4))>=FA)        
        {
            flag1++;
            if(flag1>=3)               
            {
                Lx = i;
                break;
            }
       }
       else
       flag1 = 0;
    }

    if(flag1<3)
    {
         Lx=0;      //在左边没有黑线则用0代
    }

    for(i=right_begin;i<124;i++)  //right_begin++<124
    {
        if((*(line+i)-*(line + i+4))>=FA)
        {
            flag2++;
            if(flag2>=3)
            {
                Rx=i;
                break;
            }
        }
        else
        flag2=0;
    }   
    if(flag2<3)
    {
        Rx=128;                          //在右边没有找到黑线则用128代(这里为什么用128代替啊?)

    }
    //==============3.确定下一行扫描的起始位置===============
    left_begin  = (byte)(Lx+Rx)/2;
    right_begin = (byte)(Lx+Rx)/2;
}
问题已经在代码中明确了,哪位大神帮助一下看看呗?最好详细一点,我是新手


回复

使用道具 举报

0

主题

192

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6838

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

威望
3762
贡献
614
兑换币
2483
注册时间
2013-10-20
在线时间
1231 小时
毕业学校
JUST_SLG
2#
发表于 2014-8-8 22:05:25 | 只看该作者
lx,rx是串口,,, 线性CCD一行采集的是128个点,左边找不到取0,右边找不到取128,左右平均就是64表示是在中间位置。
回复 支持 反对

使用道具 举报

13

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
638
QQ
威望
341
贡献
137
兑换币
203
注册时间
2014-7-1
在线时间
80 小时
3#
 楼主| 发表于 2014-8-8 22:50:53 | 只看该作者
1072964526 发表于 2014-8-8 22:05
lx,rx是串口,,, 线性CCD一行采集的是128个点,左边找不到取0,右边找不到取128,左右平均就是64表示是在 ...

lx,rx是串口?它们有什么作用呐?
回复 支持 反对

使用道具 举报

5

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1948
威望
955
贡献
567
兑换币
602
注册时间
2013-11-19
在线时间
213 小时
毕业学校
广东工业大学华立学院
4#
发表于 2014-8-8 23:42:13 | 只看该作者
lx,rx是提取的左右线,不是串口
回复 支持 反对

使用道具 举报

11

主题

320

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4186

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

威望
2433
贡献
1141
兑换币
977
注册时间
2013-3-3
在线时间
306 小时
5#
发表于 2014-8-9 00:11:44 | 只看该作者
好高端
回复 支持 反对

使用道具 举报

13

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
638
QQ
威望
341
贡献
137
兑换币
203
注册时间
2014-7-1
在线时间
80 小时
6#
 楼主| 发表于 2014-8-9 08:04:24 | 只看该作者
浅醉 发表于 2014-8-8 23:42
lx,rx是提取的左右线,不是串口

谢谢啊,我现在明白了
回复 支持 反对

使用道具 举报

14

主题

876

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5811
威望
3006
贡献
1961
兑换币
1991
注册时间
2013-2-28
在线时间
422 小时
7#
发表于 2014-8-9 18:07:48 | 只看该作者
128是因为CCD128位。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-2 03:32 , Processed in 0.097521 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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