【问题标题】:Distance between two Aruco Markers in Python?Python中两个Aruco标记之间的距离?
【发布时间】:2019-05-06 06:40:27
【问题描述】:

我正在尝试计算 Python 中两个 Aruco 标记之间的距离。我有可以计算一个标记的姿势的代码,但我不知道如何从那里移动。有没有人做过类似的事情或可以为我指出正确的方向?

谢谢!

【问题讨论】:

    标签: python opencv computer-vision robotics aruco


    【解决方案1】:

    您可以通过计算检测到的标记角之间的距离来找到标记之间的距离。 下面将为您提供角点和该角点的坐标。

    corners, ids, rejectedImgPoints = aruco.detectMarkers(gray, aruco_dict, parameters=arucoParameters)
    x1 = int (corners[0][0][0][0]) 
    y1 = int (corners[0][0][0][1])
    

    同样,您可以找到另一个标记角的坐标 (x2,y2)。

    import math  
    def calculateDistance(x1,y1,x2,y2):  
         dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)  
         return dist  
    print calculateDistance(x1, y1, x2, y2)
    

    此代码将给出两个角之间的距离

    【讨论】:

    • 如何获取 id 的角?如果它检测到多个标记,我似乎无法获得每个标记的角值。
    • corners 是一个 numpy 数组。因此,corners[0] 为您提供了第一个标记角。对于下一个,使用corners[1]等等。
    猜你喜欢
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 2012-03-19
    • 2012-08-06
    • 1970-01-01
    相关资源
    最近更新 更多