智能车制作

标题: 【射向头】图像识别跳变了。。。。莫名其妙的 [打印本页]

作者: 跌倒的小强    时间: 2014-3-19 13:41
标题: 【射向头】图像识别跳变了。。。。莫名其妙的
[attach]57003[/attach]
想了两个晚上了,还是找不到有什么逻辑错误,难道是我思维定势了。。。


[attach]57005[/attach]

[attach]57004[/attach]



如果左右边沿都存在就是正常的。

[attach]57006[/attach][attach]57007[/attach]



图像最下面一行是摄像头硬件问题,不在计算范围。

作者: 跌倒的小强    时间: 2014-3-19 13:46
    switch (ValidLine[i])
    {

        case 3:
                 BlackLineData[i] =   LeftBlack[i] + (RightBlack[i] - LeftBlack[i] )/2;
                 break;

        case 2://bFoundRight
                 BlackLineData[i] = BlackLineData[i+1] + (RightBlack[i+1] - RightBlack[i+2]);  //以右边的趋势。。
                 break;

        case 1://bFoundLeft
                 BlackLineData[i] = BlackLineData[i+1] + (LeftBlack[i+1] - LeftBlack[i+2]);
                 break;

        case 0:
                 BlackLineData[i] = BlackLineData[i+1] + (BlackLineData[i+1] - BlackLineData[i+2]);
                 break;

        default:
                 BlackLineData[i] = 0;
                 break;      

    }

作者: 跌倒的小强    时间: 2014-3-19 13:48
ValidLine[i]存的是边沿寻找情况, 3 两边都找到,2,仅右边找到,1,仅左边找到,0,双边丢失
作者: 跌倒的小强    时间: 2014-3-19 13:49
后续中心线处理已经隐掉了, 不明白中心线为什么会跳变。
作者: litingfeng    时间: 2014-3-19 14:02
同问啊,,中心线不连续
作者: hghgsdsd    时间: 2014-3-19 14:33
明显你的边线搜错了。右线搜到最右边去了,左线认为是在最左边,两个取中线就变成了图像中间跳变的直线
作者: Shadows    时间: 2014-3-19 16:07
以前一行的中点作为当前行查找的起始位置试试
作者: 跌倒的小强    时间: 2014-3-19 16:32
Shadows 发表于 2014-3-19 16:07
以前一行的中点作为当前行查找的起始位置试试

我就是以前一行的中点作为起点的,

我在仿真的时候,单步运行每个值都是正常的,可是计算后却出现了跳变。。。。


然后程序稍微改动一下,就进入硬件错误。。。。。

作者: litingfeng    时间: 2014-3-19 21:34
hghgsdsd 发表于 2014-3-19 14:33
明显你的边线搜错了。右线搜到最右边去了,左线认为是在最左边,两个取中线就变成了图像中间跳变的直线

上面没用到的就没管,况且边线都没搜到
作者: 飞尘    时间: 2014-3-19 22:17
搜线不对,以前也遇到同样问题
作者: litingfeng    时间: 2014-3-19 22:36
飞尘 发表于 2014-3-19 22:17
搜线不对,以前也遇到同样问题

怎么不对嘞,,

作者: 直立摄像头    时间: 2014-3-22 11:32
你这图像分辨率多大?

作者: jimmy0087    时间: 2014-3-22 11:52
图像时对的,要对上面无效中心线做处理




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2