Skip to content

Detección de manos ​

Declarar la instancia ​

Si añades un bloque de Detección de manos(HandDetection) al área de trabajo, en el código Python se inserta automáticamente la declaración de instancia siguiente:

python
hand_detection = HandDetection(0)
# si hay varias instancias
hand_detection_1 = HandDetection(1)

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
indexOpción de desplegableNúmero de instancia (empieza en 0)entero ≥ 00

Configurar la cámara ​

Configura la cámara para la detección de manos.

device

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
unitOpción de desplegableNombre del dispositivo de cámaraEtiqueta de cámara del sistema-

Python ​

python
hand_detection = HandDetection(0)

hand_detection.device('')

Cargar el modelo de manos ​

Carga el modelo de manos entrenado. Este paso es imprescindible para usar las funciones del módulo «Detección de manos».

load_model

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
waitCasillaEsperar a que termine la cargaTRUE / FALSETRUE

Python ​

python
hand_detection = HandDetection(0)

hand_detection.load_model(wait=True)

Establecer el objetivo ​

Determina si la detección de manos se basa en una mano o en las dos.

max_hands

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
unitOpción de desplegableNúmero de manosuna mano(one), las dos manos(both)-

Python ​

python
hand_detection = HandDetection(0)

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

Detectar mano una vez ​

Busca la mano en la imagen actual y la marca exactamente una vez.

detect_once

Parámetros ​

(ninguno)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.detect_once()

Iniciar / detener la detección de manos continua ​

Sigue la mano en la imagen actual de forma continua y la marca en la pantalla.

detect_continuous

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
unitOpción de desplegableAccióniniciar(start), detener(stop)-

Python ​

python
hand_detection = HandDetection(0)

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

Mostrar el resultado ​

Determina si el resultado de la detección de manos se muestra en la imagen de la cámara o no.

display

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
onOpción de desplegableVisualización ON / OFFmostrar(on=True), ocultar(off=False)TRUE

Python ​

python
hand_detection = HandDetection(0)

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

Posición de las partes de la mano ​

Devuelve la posición de la palma o de la muñeca de la mano indicada.

hand_data

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
sideOpción de desplegableLado de la manoizquierda(left), derecha(right)-
unitOpción de desplegableParte de la manopalma(palm), muñeca(wrist)-
posOpción de desplegableTipo de coordenada / tamañox, 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')

Posición de las articulaciones de los dedos ​

Devuelve las coordenadas de las articulaciones del dedo indicado.

joint_data

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
sideOpción de desplegableLado de la manoizquierda(left), derecha(right)-
unitOpción de desplegableDedopulgar(thumb), índice(index), medio(middle), anular(ring), meñique(pinky)-
jointOpción de desplegablePosición de la articulaciónprimera articulación(first), segunda articulación(second), tercera articulación(third), punta del dedo(last)-
posOpción de desplegableCoordenadax, y-

Python ​

python
hand_detection = HandDetection(0)

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

Rectángulo de la mano ​

Devuelve la posición y el tamaño del rectángulo que rodea la zona de la mano indicada.

hand_square

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
sideOpción de desplegableLado de la manoizquierda(left), derecha(right)-
unitOpción de desplegableParte de la manomano(hand), palma(palm)-
posOpción de desplegableDato del rectánguloposición x mín.(min_x), posición x máx.(max_x), posición y mín.(min_y), posición y máx.(max_y), anchura(width), altura(height), área(area)-

Python ​

python
hand_detection = HandDetection(0)

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

Distancia entre mano y mano ​

Devuelve la distancia entre dos partes de las manos.

hand_to_hand_distance

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
unit1Entrada (texto)Primera parte de la manoMano: 'side_unit' (p. ej. 'left_palm'). side=left/right, unit=palm/wrist/hand-
unit2Entrada (texto)Segunda parte de la manoMano: 'side_unit' (p. ej. 'right_palm'). side=left/right, unit=palm/wrist/hand-
typeOpción de desplegableTipo de distanciadistancia (omitido o None), distancia horizontal(horizontal), distancia vertical(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# mano ↔ mano / distancia
hand_detection.get_distance('left_palm', 'right_palm')

Distancia entre mano y dedo ​

Devuelve la distancia entre una parte de la mano y una articulación de un dedo.

hand_to_joint_distance

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
unit1Entrada (texto)Primera parteMano: 'side_unit' (p. ej. 'left_palm'). side=left/right, unit=palm/wrist/hand-
unit2Entrada (texto)Segunda parteDedo: 'side_unit_joint' (p. ej. 'right_index_first'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
typeOpción de desplegableTipo de distanciadistancia (omitido o None), distancia horizontal(horizontal), distancia vertical(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# mano ↔ articulación del dedo / distancia horizontal
hand_detection.get_distance('left_palm', 'right_index_first')

Distancia entre dedo y dedo ​

Devuelve la distancia entre dos articulaciones de los dedos.

joint_to_joint_distance

Parámetros ​

NombreTipoDescripciónRango / TipoValor predeterminado
unit1Entrada (texto)Primera parteDedo: 'side_unit_joint' (p. ej. 'left_thumb_last'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
unit2Entrada (texto)Segunda parteDedo: 'side_unit_joint' (p. ej. 'right_index_first'). unit=thumb/index/middle/ring/pinky, joint=first/second/third/last-
typeOpción de desplegableTipo de distanciadistancia (omitido o None), distancia horizontal(horizontal), distancia vertical(vertical)None

Python ​

python
hand_detection = HandDetection(0)

# articulación del dedo ↔ articulación del dedo / distancia vertical
hand_detection.get_distance('left_thumb_last', 'right_index_first', 'vertical')

Estado de carga del modelo de manos ​

Devuelve el estado de carga del modelo de manos.
Si aún no está cargado, devuelve 0; durante la carga, 1; una vez cargado, 2.

model_state

Parámetros ​

(ninguno)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.model_state()

¿Mano detectada? ​

Si se ha encontrado una mano

detected

Parámetros ​

(ninguno)

Python ​

python
hand_detection = HandDetection(0)

hand_detection.detected()