通过不同手指的搭配组合设计数字
实现代码
import math
import cv2
import mediapipe as mp
import time
import HandTrackingModule as htm
cap = cv2.VideoCapture(0)
detector = htm.handDetector(detectionCon=0.75)
gesture=""
computer=""
A=[]
i=""
j=""
record=0
result=""
while 1:
success, img = cap.read()
img= cv2.flip(img,1) #镜像翻转
handsimformation,img=detector.findHands(img)
h, w, c = img.shape
cv2.rectangle(img, (50,60),(150,160), (0,255,255), 2)
cv2.putText(img, "+", (180, 120), cv2.FONT_HERSHEY_COMPLEX,1.8, (255, 51, 51),3)
cv2.rectangle(img, (250,60),(350,160), (0,255,255), 2)
cv2.putText(img, "=", (380, 120), cv2.FONT_HERSHEY_COMPLEX,1.8, (255, 51, 51),3)
cv2.rectangle(img, (450,60),(550,160), (0,255,255), 2)
record=record+1
if (len(handsimformation)==1):
if(record%50==0):
if detector.fingersUp(handsimformation[0]) == [0, 1, 0, 0, 0]:
keyword=1
A.append(keyword)
if detector.fingersUp(handsimformation[0]) == [0, 1, 1, 0, 0]:
keyword=2
A.append(keyword)
if detector.fingersUp(handsimformation[0]) == [0, 1, 1, 1, 0]:
keyword=3
A.append(keyword)
if detector.fingersUp(handsimformation[0]) == [0, 1, 1, 1, 1]:
keyword=4
A.append(keyword)
if detector.fingersUp(handsimformation[0]) == [1, 1, 1, 1, 1]:
keyword=5
A.append(keyword)
if detector.fingersUp(handsimformation[0]) == [1, 0, 0, 0, 1]:
keyword=6
A.append(keyword)
if detector.fingersUp(handsimformation[0]) == [1, 1, 0, 0, 0]:
keyword=7
A.append(keyword)
if detector.fingersUp(handsimformation[0]) == [1, 1, 1, 0, 0]:
keyword=8
A.append(keyword)
if detector.fingersUp(handsimformation[0]) == [0, 0, 1, 1, 1]:
keyword=9
A.append(keyword)
if detector.fingersUp(handsimformation[0]) == [0, 0, 0, 0, 0]:
keyword=10
A.append(keyword)
else:
pass
if len(A)==1:
i=str(A[0])
j=""
result=""
if(len(A)==2):
j=str(A[1])
result=str(A[0]+A[1])
A=[]
cv2.putText(img,i , (80, 130), cv2.FONT_HERSHEY_COMPLEX,1.8, (100, 0, 255),3)
cv2.putText(img,j , (280, 130), cv2.FONT_HERSHEY_COMPLEX,1.8, (100, 0, 255),3)
cv2.putText(img, result, (480, 130), cv2.FONT_HERSHEY_COMPLEX, 1.8, (100, 0, 255), 3)
cv2.imshow("image",img)
k=cv2.waitKey(1)
if k==27:
break
构建Tkinter界面实现加减乘除运算