【问题标题】:Comparing two points: if (pointa == pointb) (OpenCV) [closed]比较两点:如果(pointa == pointb)(OpenCV)[关闭]
【发布时间】:2015-09-23 20:14:50
【问题描述】:

我试图在两点匹配时进行捕捉(即 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 始终为真,即使我知道它不是。

我做错了什么?如何比较两个点是否相同?

【问题讨论】:

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


    【解决方案1】:
    if (ptA == ptB);
                // ^ This is the problem
    {  
        // Do something
    }
    

    结尾的分号结束 if 语句的主体,因此始终执行后续代码。

    换句话说,你想要这个:

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

    【讨论】:

    • 啊。那是愚蠢的。谢谢。我应该删除问题吗?它没有任何价值,对其他人完全没用。
    • 这是一个很常见的错误。如果您删除问题,我很好。
    • 好的。谢谢你的帮助。干杯!
    猜你喜欢
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 2016-05-30
    • 2012-07-25
    • 2010-09-10
    • 2019-09-29
    相关资源
    最近更新 更多