Skip to content

Handdetektering ​

Instansdeklaration ​

När du lägger till ett Handdetektering(HandDetection)-block i arbetsytan infogas följande instansdeklaration automatiskt i Python-koden:

python
hand_detection = HandDetection(0)
# När det finns flera instanser
hand_detection_1 = HandDetection(1)

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
indexRullgardinsalternativInstansnummer (börjar på 0)Heltal 0 eller större0

Välja kameraenhet ​

Ställer in vilken kamera som ska användas för handdetekteringen.

device

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
unitRullgardinsalternativKamerans enhetsnamnSystemets kameraetikett-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.device('')

Ladda modellen ​

Läser in den tränade handmodellen. Det här steget krävs för att kunna använda funktionerna i modulen Handdetektering.

load_model

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
waitKryssrutaOm körningen ska vänta tills inläsningen är klarTRUE / FALSETRUE

Python ​

python
hand_detection = HandDetection(0)

hand_detection.load_model(wait=True)

Ställa in högsta antal händer ​

Bestämmer om detekteringen ska utgå från en hand eller från båda händerna.

max_hands

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
unitRullgardinsalternativAntal händeren hand(one), två händer(both)-

Python ​

python
hand_detection = HandDetection(0)

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

Detektera en gång ​

Hittar händerna som finns i bilden just nu och visar dem en enda gång.

detect_once

Parametrar ​

(ingen)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.detect_once()

Starta / stoppa kontinuerlig detektering ​

Följer händerna som finns i bilden hela tiden och visar dem på skärmen.

detect_continuous

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
unitRullgardinsalternativÅtgärdstarta(start), stoppa(stop)-

Python ​

python
hand_detection = HandDetection(0)

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

Visa resultatet ​

Bestämmer om resultatet av handdetekteringen ska visas i kamerabilden eller inte.

display

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
onRullgardinsalternativVisning PÅ / AVvisa(on=True), dölj(off=False)TRUE

Python ​

python
hand_detection = HandDetection(0)

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

Handdelarnas koordinater ​

Returnerar positionen för handflatan eller handleden på den angivna handen.

hand_data

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
sideRullgardinsalternativHandens sidavänster(left), höger(right)-
unitRullgardinsalternativHanddelhandflata(palm), handled(wrist)-
posRullgardinsalternativSlags koordinat/storlekx, 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')

Fingerledernas koordinater ​

Returnerar koordinaterna för lederna på det angivna fingret.

joint_data

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
sideRullgardinsalternativHandens sidavänster(left), höger(right)-
unitRullgardinsalternativFingertumme(thumb), pekfinger(index), långfinger(middle), ringfinger(ring), lillfinger(pinky)-
jointRullgardinsalternativLedens positionförsta leden(first), andra leden(second), tredje leden(third), spetsen(last)-
posRullgardinsalternativKoordinatx, y-

Python ​

python
hand_detection = HandDetection(0)

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

Handrektangelns information ​

Returnerar position och storlek för rektangeln kring den angivna handen.

hand_square

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
sideRullgardinsalternativHandens sidavänster(left), höger(right)-
unitRullgardinsalternativHanddelhand(hand), handflata(palm)-
posRullgardinsalternativRektangelinformationminsta x-position(min_x), största x-position(max_x), minsta y-position(min_y), största y-position(max_y), bredd(width), höjd(height), area(area)-

Python ​

python
hand_detection = HandDetection(0)

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

Avstånd mellan hand och hand ​

Returnerar avståndet mellan två handdelar.

hand_to_hand_distance

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
unit1Inmatning (sträng)Första handdelenHand: 'side_unit' (t.ex. 'left_palm'). side=left/right, unit=palm/wrist/hand-
unit2Inmatning (sträng)Andra handdelenHand: 'side_unit' (t.ex. 'right_palm'). side=left/right, unit=palm/wrist/hand-
typeRullgardinsalternativSlags avståndavstånd (utelämnas eller None), vågrätt avstånd(horizontal), lodrätt avstånd(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# hand ↔ hand / avstånd
hand_detection.get_distance('left_palm', 'right_palm')

Avstånd mellan hand och finger ​

Returnerar avståndet mellan en handdel och en fingerled.

hand_to_joint_distance

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
unit1Inmatning (sträng)Första delenHand: 'side_unit' (t.ex. 'left_palm').side=left/right, unit=palm/wrist/hand-
unit2Inmatning (sträng)Andra delenFinger: 'side_unit_joint' (t.ex. 'right_index_first'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
typeRullgardinsalternativSlags avståndavstånd (utelämnas eller None), vågrätt avstånd(horizontal), lodrätt avstånd(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# hand ↔ fingerled / vågrätt avstånd
hand_detection.get_distance('left_palm', 'right_index_first')

Avstånd mellan finger och finger ​

Returnerar avståndet mellan två fingerleder.

joint_to_joint_distance

Parametrar ​

NamnSortBeskrivningIntervall / TypStandard
unit1Inmatning (sträng)Första delenFinger: 'side_unit_joint' (t.ex. 'left_thumb_last'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
unit2Inmatning (sträng)Andra delenFinger: 'side_unit_joint' (t.ex. 'right_index_first'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
typeRullgardinsalternativSlags avståndavstånd (utelämnas eller None), vågrätt avstånd(horizontal), lodrätt avstånd(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# fingerled ↔ fingerled / lodrätt avstånd
hand_detection.get_distance('left_thumb_last', 'right_index_first', 'vertical')

Modellens tillstånd ​

Returnerar handmodellens laddningsstatus.
Det returnerar 0 om den inte har lästs in än, 1 medan den läses in och 2 när inläsningen är klar.

model_state

Parametrar ​

(ingen)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.model_state()

Har en hand detekterats? ​

Om en hand har hittats

detected

Parametrar ​

(ingen)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.detected()