智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2637|回复: 2
打印 上一主题 下一主题

[摄像头] 黑线提取的问题。。我怎么也看不懂。。

[复制链接]

12

主题

23

帖子

0

精华

高级会员

Rank: 4

积分
901
威望
544
贡献
175
兑换币
124
注册时间
2011-2-10
在线时间
91 小时
跳转到指定楼层
1#
发表于 2011-2-15 01:16:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
7贡献
原理是先求底部两行的中心,再作为后行的基础                 
                      最底行对该行所有黑块重心初始化
            但是这段程序的算法我怎么也看不懂。。请指教,谢谢!
             for(k = 0;k < MAX_BLACK_NUM;k++)
                      {
                          g_BlackPoint[k] = INIT_DATA;
                      }
                      j = 0;
                      cnt = 0;        
                while(j < (MAX_VIDEO_POINT - 2) && (cnt < MAX_BLACK_NUM))
                {
                    if(g_VideoImageData[MAX_VIDEO_LINE - 1][j] < MIDDLE)
                    {
                        l_BlackStartDot = j;
                        if( (g_VideoImageData[MAX_VIDEO_LINE - 1][l_BlackStartDot + 1] < MIDDLE) && (g_VideoImageData[MAX_VIDEO_LINE - 1][l_BlackStartDot + 2] < MIDDLE))
                        {
                            while((g_VideoImageData[MAX_VIDEO_LINE - 1][j + 2] < MIDDLE) && (j < (MAX_VIDEO_POINT - 2)))
                            {
                                j ++;
                            }
                            if((j - l_BlackStartDot) < 4)
                            {
                                g_BlackPoint[cnt] = l_BlackStartDot / 2 + (j + 1) / 2;  // 记录该黑块中心,最多5块
                                cnt ++;  
                            }
                            else
                            {
                              
                           
                            j += 3;
                            }
                        else
                        {
                            j += 2;
                        }
                    }
                    else
                    {
                        j ++;
                    }
                }
                for(k = 0;k < MAX_BLACK_NUM;k++)
                {
                    if((g_BlackPoint[k] < (g_BlackMiddle[0] + LIMIT)) && (g_BlackPoint[k] > (g_BlackMiddle[0] - LIMIT)))
                    {
                        g_BlackPositionCenter[MAX_VIDEO_LINE - 1] = g_BlackPoint[k];
                    }
                    else
                    {
                        g_BlackPositionCenter[MAX_VIDEO_LINE - 1] = INIT_DATA;
                    }              
                }

22

主题

124

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2257
QQ
威望
614
贡献
1505
兑换币
18
注册时间
2011-9-20
在线时间
69 小时
2#
发表于 2012-3-11 15:35:28 | 只看该作者
不是你看不懂 ! 主要是太多的定义了 你把定义换成数 你就看懂了 !!!!
回复

使用道具 举报

40

主题

489

帖子

0

精华

跨届大侠

我很水

Rank: 10Rank: 10Rank: 10

积分
10739

优秀会员奖章活跃会员奖章论坛元老奖章资源大师奖章

QQ
威望
3117
贡献
7282
兑换币
5
注册时间
2010-10-20
在线时间
170 小时
3#
发表于 2012-4-26 17:13:10 | 只看该作者
代码规范太差    不过也有可能是想让别人看不懂蛋疼   嘿嘿 、、、、你懂得
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 00:47 , Processed in 0.058003 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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