Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manos
Manos
while True:
ret, frame = cap.read() # lectura de camara
color = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # Opencv entrega
los colores en BGR y queremos RGB
copia = frame.copy() # copia para
procesamiento posterior
resultado = manos.process(color)
posiciones = [] # coordenadas de
los puntos
if len(posiciones) != 0:
pto_i1 = posiciones[4]
pto_i2 = posiciones[20]
pto_i3 = posiciones[12]
pto_i4 = posiciones[0]
pto_i5 = posiciones[9]
pto_5 = posiciones[5]
pto_17 = posiciones[17]
distancia = int(np.round_(np.sqrt((pto_5[1] - pto_17[1])**2 +
(pto_5[2] - pto_17[2])**2)))
#print(distancia)
x1, y1 = (pto_i5[1]-int(1.5*distancia)), (pto_i5[2]-
int(1.8*distancia))
ancho, alto = (x1+3*distancia), (y1+int(3.5*distancia))
x2, y2 = ancho, alto
dedos_reg = copia[y1:y2, x1:x2]
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 3)
dedos_reg = cv2.resize(dedos_reg, (3*distancia, int(3.5*distancia)),
interpolation= cv2.INTER_CUBIC)
dedos_reg = cv2.resize(dedos_reg, (200, 200))
cv2.imwrite(carpeta+"/palma_{}.jpg".format(cont), dedos_reg)
cont = cont + 1
time.sleep(0.05)
cv2.imshow("Video", frame)
k = cv2.waitKey(1)
if k == 27 or cont >= 300: # Cuando tengamos guardadas 300 fotos
break
cap.release()
cv2.destroyAllWindows()