Skip to content

ArUco 标记检测 ​

声明实例 ​

把 ArUco 标记检测(ArucoMarker) 积木添加到工作区后,Python 代码中会自动插入下面这样的实例声明:

python
aruco_marker = ArucoMarker(0)
# 有多个实例时
aruco_marker_1 = ArucoMarker(1)

参数 ​

名称类别说明范围 / 种类默认值
index下拉选项实例编号(从 0 开始)0 以上的整数0

设置摄像头 ​

设置用于 ArUco 标记检测的摄像头。

device

参数 ​

名称类别说明范围 / 种类默认值
unit下拉选项摄像头设备名称系统摄像头标签-

Python ​

python
aruco_marker = ArucoMarker(0)

aruco_marker.device('')

设置最大标记数 ​

设置最多可以识别的标记个数。标记个数的范围是 0 ~ 10。

max_count

参数 ​

名称类别说明范围 / 种类默认值
data输入值(积木)最大标记数0 ~ 10 的整数-

Python ​

python
aruco_marker = ArucoMarker(0)

aruco_marker.max_count(5)

检测一次标记 ​

找出当前画面中的标记,只标示一次它们的区域。

detect_once

参数 ​

(无)

Python ​

python
aruco_marker = ArucoMarker(0)

aruco_marker.detect_once()

开始 / 停止连续标记检测 ​

连续跟踪当前画面中的标记,并在画面上标示它们的区域。

detect_continuous

参数 ​

名称类别说明范围 / 种类默认值
unit下拉选项动作开始(start), 停止(stop)-

Python ​

python
aruco_marker = ArucoMarker(0)

# unit = "start"
aruco_marker.detect_continuous()
# unit = "stop"
aruco_marker.stop()

显示结果 ​

决定是否在摄像头画面上显示标记检测的结果。

display

参数 ​

名称类别说明范围 / 种类默认值
on下拉选项显示 ON / OFF显示(on=True), 隐藏(off=False)TRUE

Python ​

python
aruco_marker = ArucoMarker(0)

aruco_marker.display(True)
aruco_marker.display(False)

标记数据 ​

返回指定标记 ID 的位置 / 大小值。

marker_data

参数 ​

名称类别说明范围 / 种类默认值
data输入值(积木)标记 ID0 以上的整数-
unit下拉选项测量种类x, y, min_x, max_x, min_y, max_y, width, height, area, rotation-

Python ​

python
aruco_marker = ArucoMarker(0)

aruco_marker.marker(0, 'x')
aruco_marker.marker(3, 'area')

标记之间的距离 ​

返回两个标记之间的距离。

marker_to_marker

参数 ​

名称类别说明范围 / 种类默认值
unit1输入值(积木)第一个标记 ID0 以上的整数-
unit2输入值(积木)第二个标记 ID0 以上的整数-
type下拉选项距离种类距离(省略或 None), 水平距离(horizontal), 垂直距离(vertical)None

Python ​

python
aruco_marker = ArucoMarker(0)

aruco_marker.get_distance(0, 1)  # 距离
aruco_marker.get_distance(0, 2, 'horizontal')  # 水平距离

检测到标记? ​

是否找到了具有特定 id 值的标记

marker_detected

参数 ​

名称类别说明范围 / 种类默认值
data输入值(积木)标记 ID0 以上的整数-

Python ​

python
aruco_marker = ArucoMarker(0)

aruco_marker.marker_detected(0)