0

基本上我必须弄清楚物体上的标签是否是直的。我有一个对象的边缘图像。我想计算单行中任一侧的两条边之间的距离。我的算法涉及遍历一行,直到找到一个白色像素。然后计算黑色像素的数量,直到找到下一个白色。但是,当我运行代码时,答案始终为零。

代码:

for(int i = 0; i < img.cols; i++)
{

    int num = nms_result.at<int>(i,100);
    //cout <<num<<endl;
    if(num > 0) { 
               stage2 = true;
    }

    if (stage2 ==true)
        counter4++;
    { 

        int num2 = nms_result.at<int>(i,100);
        ;

        if ((num2 < 1) && (counter4 >=1 )) {
                counter2++;
        }       

                else counter4 = 0;

    }


    }

我尝试了很多东西,但似乎都没有。

4

1 回答 1

0

问题 1:如果我没看错你的代码,'num' 和 'num2' 总是相同的,因为它们在同一个循环中。

问题 2:这里的输出是什么?你的格式有点难以分辨。考虑在嵌套 if 中使用一些缩进。

于 2013-11-13T21:48:22.027 回答