计算2点openCV c ++之间的距离

时间:2013-11-13 21:10:00

标签: c++ image opencv

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

代码:

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;

    }


    }

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

1 个答案:

答案 0 :(得分:0)

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

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