From adaa826a9c6813c2dd647fbf5c32bb7d9bea3914 Mon Sep 17 00:00:00 2001 From: Zeriax Date: Sat, 18 Dec 2021 17:49:45 +0200 Subject: [PATCH 1/2] fix --- AIVirtualMouse.py | 20 +++++++++++++----- HandTrackingModule.py | 2 +- __pycache__/HandTrackingModule.cpython-38.pyc | Bin 0 -> 3287 bytes 3 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 __pycache__/HandTrackingModule.cpython-38.pyc diff --git a/AIVirtualMouse.py b/AIVirtualMouse.py index b0bc14a..5a7629b 100644 --- a/AIVirtualMouse.py +++ b/AIVirtualMouse.py @@ -13,14 +13,16 @@ pTime = 0 plocX, plocY = 0, 0 clocX, clocY = 0, 0 -cap = cv2.VideoCapture(0) +cap = cv2.VideoCapture( + 0 +) cap.set(3, wCam) cap.set(4, hCam) detector = htm.handDetector(maxHands=1) wScr, hScr = autopy.screen.size() -# print(wScr, hScr) +print(wScr, hScr) while True: # Step1: Find the landmarks @@ -50,8 +52,11 @@ clocY = plocY + (y3 - plocY) / smoothening # Step7: Move Mouse - autopy.mouse.move(wScr - clocX, clocY) - cv2.circle(img, (x1, y1), 15, (255, 0, 255), cv2.FILLED) + try: + autopy.mouse.move(wScr - clocX, clocY) + cv2.circle(img, (x1, y1), 15, (255, 0, 255), cv2.FILLED) + except ValueError: + pass plocX, plocY = clocX, clocY # Step8: Both Index and middle are up: Clicking Mode @@ -63,7 +68,10 @@ # Step10: Click mouse if distance short if length < 40: cv2.circle(img, (lineInfo[4], lineInfo[5]), 15, (0, 255, 0), cv2.FILLED) + # Click mouse, continue moving mouse autopy.mouse.click() + time.sleep(0.1) + autopy.mouse.move(wScr - clocX, clocY) # Step11: Frame rate cTime = time.time() @@ -73,4 +81,6 @@ # Step12: Display cv2.imshow("Image", img) - cv2.waitKey(1) \ No newline at end of file + key = cv2.waitKey(1) & 0xFF + if key == ord("q"): + break \ No newline at end of file diff --git a/HandTrackingModule.py b/HandTrackingModule.py index 9e90f2c..548b473 100644 --- a/HandTrackingModule.py +++ b/HandTrackingModule.py @@ -6,7 +6,7 @@ class handDetector(): - def __init__(self, mode=False, maxHands=2, detectionCon=0.5, trackCon=0.5): + def __init__(self, mode=False, maxHands=2, detectionCon=1, trackCon=0.5): self.mode = mode self.maxHands = maxHands self.detectionCon = detectionCon diff --git a/__pycache__/HandTrackingModule.cpython-38.pyc b/__pycache__/HandTrackingModule.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1424794433de2bbdb60be11a7fcc5d132631dbec GIT binary patch literal 3287 zcmZuzOK%*<5$^7J?r?WWQ7_U~oQDG>>quryAOR96j%-qtXfrE8qK#ysU@@8=E@!zf z^)#iW(0ihC33A8}$YFVlfgJN&a_Ccl90LA@T%50ZOp%s6gRZWr?yjD$`l_nGXfzUr z=g;b&>GLLI|DlhIkB5&tXyro?$s`}JPSx{{aNl0XbG_g3T_1G9drS)Hy<*Zk7M)1? zGI+&0abA<*flxbne9SmBJ!Y-w6k1t3BYN@i@o@*OybY4G4wnqOU6FwdUvcbrRmQRg z&X?EZf~3tlbv~}rDQH)0$36YMLduA=+jy|w-EFkj1iW3{$9&JKt9NSABlNj}P+-_m)h*V5wF^Fryv zbZ~1pJ}mP!+IpA%6C3|-EDs0yhm#{4ce}-?(A{ngYD+pY<6-rRgx}x^e|eP-aptuT z&*txDgvYbzTfS;Ts@a?yuHk_bF@vxA-rP6d33(7UCx5BWs(zFG@y5(ILfynSd5@D< z`?Y>@;&JxurXh6lc5A_U+4FT9XV3Ma+4AB)`Izx8=GECJ$sg^Oh(_nt>XIMI)ROA{>t?d;fN%k&jWl4@>yvdth%58HuBOIPRm%$JuT@Wl|xW{HbT7VYz0CNNcpxzgM<%)n0&WKeui?nB=zJJVNUj0PO z;#tk`e(=PbC9{QDU5BRDkIcdqcFY|gn}m45W{p|X`16`+oN&%e0Iumc1Qqz$G)%Jx zM`FxV>pGb)z+sT>2?{Hn^y?=9+_tV82D@wMa#|N>OOOOk0*ZYu&6drgxn!2i@}55n zjYlVdzD4L;l->$6mx%5Ovn0Li%q$bdE(lxN0cT|<+!Iyk68^sOPQOOyY^dHRj`C^C zyC5L*D#C4R$%cdBPEl%ggJja73t>3G@+here*D+<{WgQ4a7mcOt(vm%?K9a(=$dw{0Xj(-H6XgYlpgmpsI!*N+q zDx%%WpMo&pkKPcGUFXZ9&ff!Dxe2XiDB6Cr>T6R$Aj{{|9-+mm)Q zSkVjjyviNU6J!AOBapLTb#eMW38Kn1F4p`(G0N4?X!1=E6y;R!qsAUh#=6z4d?h9y zSut66vF2jTa%H);VhZ^Y+H@WLy7~oa`6X!y2l=R{_uurZ3!hDdWjf08&oI&Da)#u6 z4S|AS;VbUF@?D{Fwyxdsw;aTjJ0}H7i|@9CL*Z`A+f~1z|M-~XG1cNxI?TIWn{>Ol zaG*qkuXnr8P{peeb)Dw_fXJ_i+$Qolk#kr&j_Q!23l`z1q(m6=WC8EH@sg8g5WRk= z_*2_JEB_86`HUJ0_#9dNgwKQ)#|(vB%)JwWpFax>mGl5(#0A7b9-{JuCOk%@A9!k4 zM<$fsDk=*A7SH1oWCtneBDcccWq>gD!5%de=tM7=_?Tm*k84AnE||#l5!SJJLq^aq z9N(<6#j_Q6ZHq5PG~E_k;*?H%x&`74>wsm0?O}?DUaYcq{mVk;d$dE^fWrq2cd9n2m2&IQ^I+)?FWC{DOPE=EL}M%>NIDukd#O literal 0 HcmV?d00001 From f6caecf93a8846dec009e2a8546fc78de1f7b32b Mon Sep 17 00:00:00 2001 From: Zeriax Date: Sat, 18 Dec 2021 17:51:40 +0200 Subject: [PATCH 2/2] remove --- __pycache__/HandTrackingModule.cpython-38.pyc | Bin 3287 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 __pycache__/HandTrackingModule.cpython-38.pyc diff --git a/__pycache__/HandTrackingModule.cpython-38.pyc b/__pycache__/HandTrackingModule.cpython-38.pyc deleted file mode 100644 index 1424794433de2bbdb60be11a7fcc5d132631dbec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3287 zcmZuzOK%*<5$^7J?r?WWQ7_U~oQDG>>quryAOR96j%-qtXfrE8qK#ysU@@8=E@!zf z^)#iW(0ihC33A8}$YFVlfgJN&a_Ccl90LA@T%50ZOp%s6gRZWr?yjD$`l_nGXfzUr z=g;b&>GLLI|DlhIkB5&tXyro?$s`}JPSx{{aNl0XbG_g3T_1G9drS)Hy<*Zk7M)1? zGI+&0abA<*flxbne9SmBJ!Y-w6k1t3BYN@i@o@*OybY4G4wnqOU6FwdUvcbrRmQRg z&X?EZf~3tlbv~}rDQH)0$36YMLduA=+jy|w-EFkj1iW3{$9&JKt9NSABlNj}P+-_m)h*V5wF^Fryv zbZ~1pJ}mP!+IpA%6C3|-EDs0yhm#{4ce}-?(A{ngYD+pY<6-rRgx}x^e|eP-aptuT z&*txDgvYbzTfS;Ts@a?yuHk_bF@vxA-rP6d33(7UCx5BWs(zFG@y5(ILfynSd5@D< z`?Y>@;&JxurXh6lc5A_U+4FT9XV3Ma+4AB)`Izx8=GECJ$sg^Oh(_nt>XIMI)ROA{>t?d;fN%k&jWl4@>yvdth%58HuBOIPRm%$JuT@Wl|xW{HbT7VYz0CNNcpxzgM<%)n0&WKeui?nB=zJJVNUj0PO z;#tk`e(=PbC9{QDU5BRDkIcdqcFY|gn}m45W{p|X`16`+oN&%e0Iumc1Qqz$G)%Jx zM`FxV>pGb)z+sT>2?{Hn^y?=9+_tV82D@wMa#|N>OOOOk0*ZYu&6drgxn!2i@}55n zjYlVdzD4L;l->$6mx%5Ovn0Li%q$bdE(lxN0cT|<+!Iyk68^sOPQOOyY^dHRj`C^C zyC5L*D#C4R$%cdBPEl%ggJja73t>3G@+here*D+<{WgQ4a7mcOt(vm%?K9a(=$dw{0Xj(-H6XgYlpgmpsI!*N+q zDx%%WpMo&pkKPcGUFXZ9&ff!Dxe2XiDB6Cr>T6R$Aj{{|9-+mm)Q zSkVjjyviNU6J!AOBapLTb#eMW38Kn1F4p`(G0N4?X!1=E6y;R!qsAUh#=6z4d?h9y zSut66vF2jTa%H);VhZ^Y+H@WLy7~oa`6X!y2l=R{_uurZ3!hDdWjf08&oI&Da)#u6 z4S|AS;VbUF@?D{Fwyxdsw;aTjJ0}H7i|@9CL*Z`A+f~1z|M-~XG1cNxI?TIWn{>Ol zaG*qkuXnr8P{peeb)Dw_fXJ_i+$Qolk#kr&j_Q!23l`z1q(m6=WC8EH@sg8g5WRk= z_*2_JEB_86`HUJ0_#9dNgwKQ)#|(vB%)JwWpFax>mGl5(#0A7b9-{JuCOk%@A9!k4 zM<$fsDk=*A7SH1oWCtneBDcccWq>gD!5%de=tM7=_?Tm*k84AnE||#l5!SJJLq^aq z9N(<6#j_Q6ZHq5PG~E_k;*?H%x&`74>wsm0?O}?DUaYcq{mVk;d$dE^fWrq2cd9n2m2&IQ^I+)?FWC{DOPE=EL}M%>NIDukd#O