我试图捕捉两个点匹配时(即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
始终为真,即使我知道它不是。
我做错了什么?我该怎么做才能比较两点是否相同?
答案 0 :(得分:3)
if (ptA == ptB);
// ^ This is the problem
{
// Do something
}
尾部分号结束if语句的主体,因此后续代码总是被执行。
换句话说,你想要这个:
if (ptA == ptB)
// ; - removed
{
// Do something
}