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=True), ซ่อน(off=False)TRUE

Python ​

python
aruco_marker = ArucoMarker(0)

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

ข้อมูลมาร์กเกอร์ ​

คืนค่าตำแหน่ง/ขนาดของมาร์กเกอร์ตาม ID ที่กำหนด

marker_data

พารามิเตอร์ ​

ชื่อประเภทคำอธิบายช่วง / ชนิดค่าเริ่มต้น
dataค่าป้อนเข้า (บล็อก)ID ของมาร์กเกอร์จำนวนเต็ม 0 ขึ้นไป-
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ค่าป้อนเข้า (บล็อก)ID ของมาร์กเกอร์อันแรกจำนวนเต็ม 0 ขึ้นไป-
unit2ค่าป้อนเข้า (บล็อก)ID ของมาร์กเกอร์อันที่สองจำนวนเต็ม 0 ขึ้นไป-
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ค่าป้อนเข้า (บล็อก)ID ของมาร์กเกอร์จำนวนเต็ม 0 ขึ้นไป-

Python ​

python
aruco_marker = ArucoMarker(0)

aruco_marker.marker_detected(0)