比较两点:if(pointa == pointb)(OpenCV)

时间:2015-09-23 20:14:50

标签: c++ opencv if-statement compare point

我试图捕捉两个点匹配时(即x坐标相同,ptA.x == ptB.x,并且y相同)。 OpenCV文档说我应该只通过比较点来做到这一点:

Point2i ptA = Point(0,0);
Point2i ptB = Point(160,120);

if(ptA == ptB);
{  
    // Do something
}

但是,if循环中的代码始终会执行,这意味着ptA == ptB始终为真,即使我知道它不是。

我做错了什么?我该怎么做才能比较两点是否相同?

1 个答案:

答案 0 :(得分:3)

if (ptA == ptB);
            // ^ This is the problem
{  
    // Do something
}

尾部分号结束if语句的主体,因此后续代码总是被执行。

换句话说,你想要这个:

if (ptA == ptB)
            // ; - removed
{  
    // Do something
}