计算 2 点之间的距离 打开CV C++

calculating the distance between 2 points openCV c++

本文关键字:打开 CV C++ 距离 之间 计算      更新时间:2023-10-16

基本上,我必须弄清楚对象上的标签是否是直的。我有对象的边缘图像。我想计算单行中两侧 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:如果我没看错你的代码,'num' 和 'num2' 总是相同的,因为它们在同一个循环中。

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