Skip to content

Nhận diện bàn tay ​

Khai báo thực thể ​

Khi bạn thêm khối Nhận diện bàn tay(HandDetection) vào vùng làm việc, phần khai báo thực thể sau đây được tự động chèn vào mã Python:

python
hand_detection = HandDetection(0)
# Khi có nhiều thực thể
hand_detection_1 = HandDetection(1)

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
indexTùy chọn danh sách thả xuốngSố hiệu thực thể (bắt đầu từ 0)số nguyên từ 0 trở lên0

Đặt camera ​

Đặt camera dùng để nhận diện bàn tay.

device

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
unitTùy chọn danh sách thả xuốngTên thiết bị cameranhãn camera của hệ thống-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.device('')

Tải mô hình bàn tay ​

Tải mô hình bàn tay đã được huấn luyện. Bạn bắt buộc phải làm việc này thì mới dùng được các chức năng của mô-đun 'Nhận diện bàn tay'.

load_model

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
waitHộp kiểmCó chờ tải xong hay khôngTRUE / FALSETRUE

Python ​

python
hand_detection = HandDetection(0)

hand_detection.load_model(wait=True)

Đặt số bàn tay mục tiêu ​

Quyết định khi tìm bàn tay thì lấy một tay hay cả hai tay làm mục tiêu.

max_hands

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
unitTùy chọn danh sách thả xuốngSố bàn taymột(one), hai(both)-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.max_hands('one')
hand_detection.max_hands('both')

Phát hiện bàn tay một lần ​

Tìm bàn tay đang có trên màn hình rồi đánh dấu đúng một lần.

detect_once

Tham số ​

(không có)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.detect_once()

Bắt đầu / dừng phát hiện bàn tay liên tục ​

Liên tục bám theo bàn tay đang có trên màn hình và đánh dấu nó trên màn hình.

detect_continuous

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
unitTùy chọn danh sách thả xuốngHành độngbắt đầu(start), dừng(stop)-

Python ​

python
hand_detection = HandDetection(0)

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

Hiện kết quả ​

Quyết định có hiện kết quả nhận diện bàn tay trên màn hình camera hay không.

display

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
onTùy chọn danh sách thả xuốngHiển thị BẬT / TẮThiện(on=True), ẩn(off=False)TRUE

Python ​

python
hand_detection = HandDetection(0)

hand_detection.display(True)
hand_detection.display(False)

Tọa độ bộ phận bàn tay ​

Trả về thông tin vị trí lòng bàn tay/cổ tay của bàn tay đã chỉ định.

hand_data

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
sideTùy chọn danh sách thả xuốngBên bàn taytrái(left), phải(right)-
unitTùy chọn danh sách thả xuốngBộ phận bàn taylòng bàn(palm), cổ tay(wrist)-
posTùy chọn danh sách thả xuốngLoại tọa độ / kích thướcx, y-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.hand('left', 'palm', 'x')
hand_detection.hand('right', 'wrist', 'y')
hand_detection.hand('left', 'hand', 'min_x')
hand_detection.hand('right', 'palm', 'width')

Tọa độ khớp ngón tay ​

Trả về tọa độ khớp của ngón tay đã chỉ định.

joint_data

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
sideTùy chọn danh sách thả xuốngBên bàn taytrái(left), phải(right)-
unitTùy chọn danh sách thả xuốngNgón taycái(thumb), trỏ(index), giữa(middle), áp út(ring), út(pinky)-
jointTùy chọn danh sách thả xuốngVị trí khớpkhớp thứ nhất(first), khớp thứ hai(second), khớp thứ ba(third), đầu ngón(last)-
posTùy chọn danh sách thả xuốngTọa độx, y-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.finger('left', 'index', 'first', 'x')
hand_detection.finger('right', 'thumb', 'last', 'y')

Thông tin hình chữ nhật bàn tay ​

Trả về giá trị vị trí/kích thước của hình chữ nhật bao quanh bàn tay đã chỉ định.

hand_square

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
sideTùy chọn danh sách thả xuốngBên bàn taytrái(left), phải(right)-
unitTùy chọn danh sách thả xuốngBộ phận bàn taybàn tay(hand), lòng bàn(palm)-
posTùy chọn danh sách thả xuốngThông tin hình chữ nhậtvị trí x nhỏ nhất(min_x), vị trí x lớn nhất(max_x), vị trí y nhỏ nhất(min_y), vị trí y lớn nhất(max_y), chiều rộng(width), chiều cao(height), diện tích(area)-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.hand('left', 'hand', 'min_x')
hand_detection.hand('right', 'palm', 'width')

Khoảng cách giữa hai bàn tay ​

Trả về khoảng cách giữa hai bộ phận bàn tay.

hand_to_hand_distance

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
unit1Giá trị nhập (văn bản)Bộ phận bàn tay thứ nhấtbàn tay: 'side_unit' (ví dụ: 'left_palm'). side=left/right, unit=palm/wrist/hand-
unit2Giá trị nhập (văn bản)Bộ phận bàn tay thứ haibàn tay: 'side_unit' (ví dụ: 'right_palm'). side=left/right, unit=palm/wrist/hand-
typeTùy chọn danh sách thả xuốngLoại khoảng cáchkhoảng cách (bỏ qua hoặc None), khoảng cách ngang(horizontal), khoảng cách dọc(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# bàn tay ↔ bàn tay / khoảng cách
hand_detection.get_distance('left_palm', 'right_palm')

Khoảng cách giữa bàn tay và ngón tay ​

Trả về khoảng cách giữa một bộ phận bàn tay và một khớp ngón tay.

hand_to_joint_distance

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
unit1Giá trị nhập (văn bản)Bộ phận thứ nhấtbàn tay: 'side_unit' (ví dụ: 'left_palm').side=left/right, unit=palm/wrist/hand-
unit2Giá trị nhập (văn bản)Bộ phận thứ haingón tay: 'side_unit_joint' (ví dụ: 'right_index_first'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
typeTùy chọn danh sách thả xuốngLoại khoảng cáchkhoảng cách (bỏ qua hoặc None), khoảng cách ngang(horizontal), khoảng cách dọc(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# bàn tay ↔ khớp ngón tay / khoảng cách ngang
hand_detection.get_distance('left_palm', 'right_index_first')

Khoảng cách giữa hai ngón tay ​

Trả về khoảng cách giữa hai khớp ngón tay.

joint_to_joint_distance

Tham số ​

TênLoạiMô tảPhạm vi / KiểuMặc định
unit1Giá trị nhập (văn bản)Bộ phận thứ nhấtngón tay: 'side_unit_joint' (ví dụ: 'left_thumb_last'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
unit2Giá trị nhập (văn bản)Bộ phận thứ haingón tay: 'side_unit_joint' (ví dụ: 'right_index_first'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
typeTùy chọn danh sách thả xuốngLoại khoảng cáchkhoảng cách (bỏ qua hoặc None), khoảng cách ngang(horizontal), khoảng cách dọc(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# khớp ngón tay ↔ khớp ngón tay / khoảng cách dọc
hand_detection.get_distance('left_thumb_last', 'right_index_first', 'vertical')

Trạng thái mô hình ​

Trả về trạng thái tải mô hình bàn tay.
Trả về 0 nếu chưa tải, 1 nếu đang tải và 2 nếu đã tải xong.

model_state

Tham số ​

(không có)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.model_state()

Đã phát hiện bàn tay? ​

Có tìm thấy bàn tay hay không

detected

Tham số ​

(không có)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.detected()