基本上我必须弄清楚物体上的标签是否笔直。我有一个对象的边缘图像。我想计算单行两侧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;
}
}
我尝试过很多东西,但似乎都没有。
答案 0 :(得分:0)
问题1:如果我正确地读你的代码,'num'和'num2'总是相同的,因为它们在同一个循环中。
问题2:这里的输出是什么?你的格式有点难以辨别。考虑使用嵌套ifs的一些缩进。