Wykrywanie dłoni
Deklaracja instancji
Po dodaniu bloku Wykrywanie dłoni(HandDetection) do obszaru roboczego w kodzie Python automatycznie pojawia się następująca deklaracja instancji:
hand_detection = HandDetection(0)
# Gdy instancji jest więcej
hand_detection_1 = HandDetection(1)Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| index | Opcja listy rozwijanej | Numer instancji (licząc od 0) | Liczba całkowita 0 lub większa | 0 |
Ustaw kamerę
Ustawia kamerę używaną do wykrywania dłoni.

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| unit | Opcja listy rozwijanej | Nazwa urządzenia kamery | Nazwa kamery w systemie | - |
Python
hand_detection = HandDetection(0)
hand_detection.device('')Załaduj model dłoni
Wczytuje wytrenowany model dłoni. Bez tego kroku nie da się korzystać z funkcji modułu „Wykrywanie dłoni".

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| wait | Pole wyboru | Czy czekać na zakończenie ładowania | TRUE / FALSE | TRUE |
Python
hand_detection = HandDetection(0)
hand_detection.load_model(wait=True)Ustaw cel wykrywania
Decyduje, czy przy wykrywaniu dłoni brana jest pod uwagę jedna ręka, czy obie.

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| unit | Opcja listy rozwijanej | Liczba rąk | jedna ręka(one), obie ręce(both) | - |
Python
hand_detection = HandDetection(0)
hand_detection.max_hands('one')
hand_detection.max_hands('both')Wykryj dłoń raz
Znajduje dłoń obecną teraz na ekranie i zaznacza ją tylko raz.

Parametry
(brak)
Python
hand_detection = HandDetection(0)
hand_detection.detect_once()Uruchom / zatrzymaj ciągłe wykrywanie dłoni
Śledzi na bieżąco dłoń obecną na ekranie i zaznacza ją na obrazie.

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| unit | Opcja listy rozwijanej | Działanie | uruchom(start), zatrzymaj(stop) | - |
Python
hand_detection = HandDetection(0)
# unit = "start"
hand_detection.detect_continuous()
# unit = "stop"
hand_detection.stop()Pokaż wynik
Decyduje, czy na obrazie z kamery ma być pokazywany wynik wykrywania dłoni.

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| on | Opcja listy rozwijanej | Wyświetlanie ON / OFF | pokaż(on=True), ukryj(off=False) | TRUE |
Python
hand_detection = HandDetection(0)
hand_detection.display(True)
hand_detection.display(False)Współrzędne części dłoni
Zwraca położenie śródręcza albo nadgarstka wybranej ręki.

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| side | Opcja listy rozwijanej | Która ręka | lewa(left), prawa(right) | - |
| unit | Opcja listy rozwijanej | Część dłoni | śródręcze(palm), nadgarstek(wrist) | - |
| pos | Opcja listy rozwijanej | Rodzaj współrzędnej lub rozmiaru | x, y | - |
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')Współrzędne stawów palców
Zwraca współrzędne stawów wybranego palca.

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| side | Opcja listy rozwijanej | Która ręka | lewa(left), prawa(right) | - |
| unit | Opcja listy rozwijanej | Palec | kciuk(thumb), wskazujący(index), środkowy(middle), serdeczny(ring), mały(pinky) | - |
| joint | Opcja listy rozwijanej | Położenie stawu | pierwszy staw(first), drugi staw(second), trzeci staw(third), koniec(last) | - |
| pos | Opcja listy rozwijanej | Współrzędna | x, y | - |
Python
hand_detection = HandDetection(0)
hand_detection.finger('left', 'index', 'first', 'x')
hand_detection.finger('right', 'thumb', 'last', 'y')Prostokąt dłoni
Zwraca położenie i rozmiar prostokąta obejmującego wybraną dłoń.

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| side | Opcja listy rozwijanej | Która ręka | lewa(left), prawa(right) | - |
| unit | Opcja listy rozwijanej | Część dłoni | dłoń(hand), śródręcze(palm) | - |
| pos | Opcja listy rozwijanej | Informacja o prostokącie | min. pozycja x(min_x), maks. pozycja x(max_x), min. pozycja y(min_y), maks. pozycja y(max_y), szerokość(width), wysokość(height), pole(area) | - |
Python
hand_detection = HandDetection(0)
hand_detection.hand('left', 'hand', 'min_x')
hand_detection.hand('right', 'palm', 'width')Odległość między dłońmi
Zwraca odległość między dwiema częściami dłoni.

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| unit1 | Wejście (ciąg znaków) | Pierwsza część dłoni | dłoń: 'side_unit' (np. 'left_palm'). side=left/right, unit=palm/wrist/hand | - |
| unit2 | Wejście (ciąg znaków) | Druga część dłoni | dłoń: 'side_unit' (np. 'right_palm'). side=left/right, unit=palm/wrist/hand | - |
| type | Opcja listy rozwijanej | Rodzaj odległości | odległość (pominięta albo None), odległość pozioma(horizontal), odległość pionowa(vertical) | None |
Python
hand_detection = HandDetection(0)
# dłoń ↔ dłoń / odległość
hand_detection.get_distance('left_palm', 'right_palm')Odległość między dłonią a palcem
Zwraca odległość między częścią dłoni a stawem palca.

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| unit1 | Wejście (ciąg znaków) | Pierwsza część | dłoń: 'side_unit' (np. 'left_palm').side=left/right, unit=palm/wrist/hand | - |
| unit2 | Wejście (ciąg znaków) | Druga część | palec: 'side_unit_joint' (np. 'right_index_first'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last | - |
| type | Opcja listy rozwijanej | Rodzaj odległości | odległość (pominięta albo None), odległość pozioma(horizontal), odległość pionowa(vertical) | None |
Python
hand_detection = HandDetection(0)
# dłoń ↔ staw palca / odległość pozioma
hand_detection.get_distance('left_palm', 'right_index_first')Odległość między palcami
Zwraca odległość między dwoma stawami palców.

Parametry
| Nazwa | Rodzaj | Opis | Zakres / Typ | Domyślnie |
|---|---|---|---|---|
| unit1 | Wejście (ciąg znaków) | Pierwsza część | palec: 'side_unit_joint' (np. 'left_thumb_last'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last | - |
| unit2 | Wejście (ciąg znaków) | Druga część | palec: 'side_unit_joint' (np. 'right_index_first'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last | - |
| type | Opcja listy rozwijanej | Rodzaj odległości | odległość (pominięta albo None), odległość pozioma(horizontal), odległość pionowa(vertical) | None |
Python
hand_detection = HandDetection(0)
# staw palca ↔ staw palca / odległość pionowa
hand_detection.get_distance('left_thumb_last', 'right_index_first', 'vertical')Stan modelu
Zwraca stan ładowania modelu dłoni.
Zwraca 0, jeśli model nie został jeszcze wczytany, 1 w trakcie wczytywania i 2 po jego zakończeniu.

Parametry
(brak)
Python
hand_detection = HandDetection(0)
hand_detection.model_state()Czy wykryto dłoń
Czy dłoń została znaleziona

Parametry
(brak)
Python
hand_detection = HandDetection(0)
hand_detection.detected()