Skip to content

Распознавание рук ​

Объявление экземпляра ​

После добавления блока Распознавание рук(HandDetection) в рабочую область в код Python автоматически вставляется следующее объявление экземпляра:

python
hand_detection = HandDetection(0)
# Когда экземпляров несколько
hand_detection_1 = HandDetection(1)

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
indexПункт выпадающего спискаНомер экземпляра (начиная с 0)Целое число 0 или больше0

Выбрать камеру ​

Задаёт камеру, используемую для распознавания рук.

device

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
unitПункт выпадающего спискаНазвание устройства камерыНазвание камеры в системе-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.device('')

Загрузить модель рук ​

Загружает обученную модель рук. Без этого шага функции модуля «Распознавание рук» использовать нельзя.

load_model

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
waitФлажокЖдать ли завершения загрузкиTRUE / FALSETRUE

Python ​

python
hand_detection = HandDetection(0)

hand_detection.load_model(wait=True)

Выбрать цель распознавания ​

Определяет, распознаётся ли при поиске рук одна рука или обе.

max_hands

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
unitПункт выпадающего спискаКоличество рукодна рука(one), обе руки(both)-

Python ​

python
hand_detection = HandDetection(0)

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

Распознать руку один раз ​

Находит руку, которая сейчас на экране, и отмечает её только один раз.

detect_once

Параметры ​

(нет)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.detect_once()

Запустить / остановить непрерывное распознавание рук ​

Непрерывно отслеживает руку на экране и отмечает её на изображении.

detect_continuous

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
unitПункт выпадающего спискаДействиезапустить(start), остановить(stop)-

Python ​

python
hand_detection = HandDetection(0)

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

Показать результат ​

Определяет, показывать ли на изображении с камеры результат распознавания рук.

display

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
onПункт выпадающего спискаОтображение ON / OFFпоказать(on=True), скрыть(off=False)TRUE

Python ​

python
hand_detection = HandDetection(0)

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

Координаты частей руки ​

Возвращает положение ладони или запястья выбранной руки.

hand_data

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
sideПункт выпадающего спискаКакая рукалевая(left), правая(right)-
unitПункт выпадающего спискаЧасть рукиладонь(palm), запястье(wrist)-
posПункт выпадающего спискаВид координаты или размераx, 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')

Координаты суставов пальцев ​

Возвращает координаты суставов выбранного пальца.

joint_data

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
sideПункт выпадающего спискаКакая рукалевая(left), правая(right)-
unitПункт выпадающего спискаПалецбольшой(thumb), указательный(index), средний(middle), безымянный(ring), мизинец(pinky)-
jointПункт выпадающего спискаПоложение суставапервый сустав(first), второй сустав(second), третий сустав(third), кончик(last)-
posПункт выпадающего спискаКоординатаx, y-

Python ​

python
hand_detection = HandDetection(0)

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

Прямоугольник руки ​

Возвращает положение и размер прямоугольника, охватывающего выбранную руку.

hand_square

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
sideПункт выпадающего спискаКакая рукалевая(left), правая(right)-
unitПункт выпадающего спискаЧасть рукирука(hand), ладонь(palm)-
posПункт выпадающего спискаСведения о прямоугольникемин. позиция x(min_x), макс. позиция x(max_x), мин. позиция y(min_y), макс. позиция y(max_y), ширина(width), высота(height), площадь(area)-

Python ​

python
hand_detection = HandDetection(0)

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

Расстояние между руками ​

Возвращает расстояние между двумя частями рук.

hand_to_hand_distance

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
unit1Ввод (строка)Первая часть рукирука: 'side_unit' (например, 'left_palm'). side=left/right, unit=palm/wrist/hand-
unit2Ввод (строка)Вторая часть рукирука: 'side_unit' (например, 'right_palm'). side=left/right, unit=palm/wrist/hand-
typeПункт выпадающего спискаВид расстояниярасстояние (пропущено или None), расстояние по горизонтали(horizontal), расстояние по вертикали(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# рука ↔ рука / расстояние
hand_detection.get_distance('left_palm', 'right_palm')

Расстояние между рукой и пальцем ​

Возвращает расстояние между частью руки и суставом пальца.

hand_to_joint_distance

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
unit1Ввод (строка)Первая частьрука: 'side_unit' (например, 'left_palm').side=left/right, unit=palm/wrist/hand-
unit2Ввод (строка)Вторая частьпалец: 'side_unit_joint' (например, 'right_index_first'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
typeПункт выпадающего спискаВид расстояниярасстояние (пропущено или None), расстояние по горизонтали(horizontal), расстояние по вертикали(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# рука ↔ сустав пальца / расстояние по горизонтали
hand_detection.get_distance('left_palm', 'right_index_first')

Расстояние между пальцами ​

Возвращает расстояние между двумя суставами пальцев.

joint_to_joint_distance

Параметры ​

НазваниеВидОписаниеДиапазон / ТипПо умолчанию
unit1Ввод (строка)Первая частьпалец: 'side_unit_joint' (например, 'left_thumb_last'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
unit2Ввод (строка)Вторая частьпалец: 'side_unit_joint' (например, 'right_index_first'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
typeПункт выпадающего спискаВид расстояниярасстояние (пропущено или None), расстояние по горизонтали(horizontal), расстояние по вертикали(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# сустав пальца ↔ сустав пальца / расстояние по вертикали
hand_detection.get_distance('left_thumb_last', 'right_index_first', 'vertical')

Состояние модели ​

Возвращает состояние загрузки модели рук.
Возвращает 0, если модель ещё не загружена, 1 во время загрузки и 2 после её завершения.

model_state

Параметры ​

(нет)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.model_state()

Рука распознана ​

Найдена ли рука

detected

Параметры ​

(нет)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.detected()