【问题标题】:calculating the distance between 2 points openCV c++计算2点之间的距离openCV c ++
【发布时间】:2013-11-16 05:48:50
【问题描述】:

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

代码:

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;

    }


    }

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

【问题讨论】:

  • 发布图片不需要 10 个声望

标签: c++ image opencv


【解决方案1】:

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

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

【讨论】:

  • num1 和 num2 相同。我知道,我重新计算它以进行调试。输出为计数器 2。 counter4 只是一张支票。
  • 在你的第二个 if 语句中,你使用一个单行来增加 counter4。然后,您有括号来执行 if 测试以增加 counter2。也许 counter2 括号中的代码永远不会运行,因为编译器会在你的单行代码之后终止 if 语句。
  • 另外,还有一件事,您使用的是二进制图像吗? 1 代表白色,0 代表黑色?还是这是 int/float?
猜你喜欢
  • 2013-04-28
  • 2021-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-05
  • 2014-11-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多