Cov txheej txheem:
- Kauj Ruam 1: YUAV TSUM YUAV TSUM:
- Kauj Ruam 2: Txoj Haujlwm Ua Haujlwm:
- Kauj Ruam 3: RAWS LI QHOV TSEEB thiab UA NTEJ:
- Kauj ruam 4:
- Kauj ruam 5:
- Kauj Ruam 6: TUS NEEG UA NTEJ:
- Kauj ruam 7:
- Kauj ruam 8:
- Kauj ruam 9:
- Kauj ruam 10:
- Kauj ruam 11:
- Kauj Ruam 12: TSHUAJ TIV THAIV:
- Kauj ruam 13:
Video: Nkawm khau Hawk: Tes Tes Taw Tswj Cov Neeg Hlau Siv Duab Ua Raws Li Kev Sib Tham: 13 Cov Kauj Ruam (nrog Duab)
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Gesture Hawk tau nthuav tawm hauv TechEvince 4.0 raws li cov duab yooj yim ua raws tib neeg-tshuab sib cuam tshuam. Nws qhov muaj txiaj ntsig nyob hauv qhov tseeb tias tsis muaj lub ntsuas ntsuas ntxiv lossis hnav tau tshwj tsis yog lub hnab looj tes yuav tsum tau tswj lub tsheb neeg hlau uas khiav ntawm txoj cai sib txawv tsav. Hauv cov lus qhia no, peb yuav coj koj mus rau txoj cai ua haujlwm tom qab ntsuas cov khoom thiab piav tes piav taw pom hauv lub kaw lus. Qhov chaws ntawm txoj haujlwm no tuaj yeem rub tawm los ntawm Github ntawm qhov txuas:
Kauj Ruam 1: YUAV TSUM YUAV TSUM:
- L298N Tsav Tsav Tsheb
- DC Tsav
- Neeg hlau tsheb chassis
- Arduino Ib
- Roj teeb LiPo
- Arduino USB Cable (ntev)
- OpenCV Library nrog Python
Kauj Ruam 2: Txoj Haujlwm Ua Haujlwm:
Gesture Hawk yog peb theem ua haujlwm raws li koj tuaj yeem pom hauv daim duab saum toj no.
Kauj Ruam 3: RAWS LI QHOV TSEEB thiab UA NTEJ:
Kev ntes cov tswv yim tuaj yeem nkag siab hauv pawg dav dav uas tau muab hauv daim duab saum toj no.
Txhawm rau tshem tawm cov txhais tes los ntawm ib puag ncig, peb yuav tsum siv daim npog ntsej muag lossis lim cov xim tseeb (qhov no - xiav xiav '). Txhawm rau ua qhov ntawd koj yuav tsum hloov daim duab los ntawm BGR rau HSV hom uas tuaj yeem ua tiav los ntawm kev siv cov lej hauv qab no.
hsv = cv2.cvtColor (thav duab, cv2. COLOR_BGR2HSV)
Tam sim no, cov kauj ruam tom ntej yog txhawm rau nrhiav qhov xav tau ntau yam ntawm HSV qhov ntsuas kom tshem tawm txhais tes ntawm daim npog ntsej muag lossis lim. Txog qhov no, txoj hauv kev zoo tshaj plaws yog siv kab tuav txhawm rau nrhiav qhov tsim nyog. Nov yog qhov screenshot ntawm kab kab uas siv rau txoj haujlwm no.
Kauj ruam 4:
Kauj ruam 5:
Ntawm no, muaj cov lej kab lus muab hauv qab no txhawm rau ua lub trackbar rau kev tsim daim npog ntsej muag:
ua cv2
import numpy as npdef nothing (x): pass cv2.namedWindow ('image') img = cv2. VideoCapture (0) cv2.createTrackbar ('l_H', 'duab', 110, 255, tsis muaj dab tsi) cv2.createTrackbar ('l_S ',' duab ', 50, 255, tsis muaj dab tsi) cv2.createTrackbar (' l_V ',' duab ', 50, 255, tsis muaj dab tsi) cv2.createTrackbar (' h_H ',' duab ', 130, 255, tsis muaj dab tsi) cv2. createTrackbar ('h_S', 'duab', 255, 255, tsis muaj dab tsi) cv2.createTrackbar ('h_V', 'duab', 255, 255, tsis muaj dab tsi) thaum (1): _, thav duab = img.read ()
hsv = cv2.cvtColor (frame, cv2. COLOR_BGR2HSV) lH = cv2.getTrackbarPos ('l_H', 'image') lS = cv2.getTrackbarPos ('l_S', 'image') lV = cv2.getTrackbarPos ('l_V', 'image') hH = cv2.getTrackbarPos ('h_H', 'image') hS = cv2.getTrackbarPos ('h_S', 'image') hV = cv2.getTrackbarPos ('h_V', 'image') lower_R = np. array ([lH, lS, lV]) higher_R = np.array ([hH, hS, hV]) mask = cv2.inRange (hsv, lower_R, higher_R) res = cv2. cv2.imshow ('duab', res) k = cv2.waitKey (1) & 0xFF yog k == 27: so cv2.destroyAllWindows ()
Kauj Ruam 6: TUS NEEG UA NTEJ:
Zoo, peb tau txais lub ntsej muag duab ntawm txhais tes, tam sim no nws yog lub sijhawm los siv nws thiab siv nws los xam tawm ntawm tes tes.
Huv convex:
Los ntawm lub khauj khaum khaus, peb sim ua kom kwv yees ntau lub ntsej muag ntawm cov ntsiab lus tseem ceeb tam sim no hauv cov duab. Cov duab tam sim no ntawm sab laug qhia qhov kwv yees ntau lub duab plaub uas tau muab rau lub cev nrog cov ntsiab lus ntawm lub ntsej muag cim nrog liab.
Cov ntsiab lus Convex yog cov ntsiab lus hauv cov duab uas nyob deb tshaj ntawm ib sab ntawm cov duab no kwv yees. Tab sis, qhov teeb meem nrog lub plhaub taub hau yog tias thaum lub sijhawm nws suav, peb yuav tau txais ib qho array ntawm txhua lub ntsiab lus convex tab sis peb xav tau dab tsi yog lub ntsiab lus xiav lub ntsej muag convex. Peb yuav qhia koj tias vim li cas thiaj yuav tsum tau ua.
Txhawm rau nrhiav pom lub ntsiab lus no, peb yuav tsum siv tus lej sib npaug sib npaug kom pom qhov deb ntawm lub ntsiab lus convex nrog sab ze tshaj plaws. Peb pom tias qhov taw qhia xiav muaj qhov deb tshaj plaws ntawm sab thiab yog li peb tau txais cov ntsiab lus no.
Kauj ruam 7:
Kauj ruam 8:
Tom ntej no peb yuav tsum pom qhov kev nyiam ntawm txoj kab koom nrog qhov taub ntawm tus ntiv tes xoo (lossis cov ntsiab lus hnyav) mus rau lub ntsiab lus no nrog kab rov tav.
Kauj ruam 9:
Hauv qhov xwm txheej saum toj no, Lub kaum sab xis α yuav tsum nyob nruab nrab ntawm 0 txog 90 degrees yog hais tias tes taw yog rau sab laug. Qhov ntawd yog ziab (α) yuav tsum yog qhov zoo.
Kauj ruam 10:
Hauv qhov xwm txheej saum toj no, Lub kaum sab xis α yuav tsum nyob nruab nrab ntawm 180 txog 90 degrees yog hais tias tes taw yog rau sab xis. Qhov ntawd yog ziab (α) yuav tsum tsis zoo.
Yog li, Yog tias Tan α yog qhov zoo, tom qab ntawd tig sab laug. Yog tias Tan α yog qhov tsis zoo, ces yog sab xis. Tam sim no, nws yog lub sijhawm los saib yuav ua li cas txhawm rau txheeb xyuas qhov kev txiav txim tseem ceeb tshaj plaws.
Ntawm no, qhov piv txwv tshwj xeeb (pom los ntawm kev ntaus thiab sim) raug tshuaj xyuas thiab hauv qhov xwm txheej siab tshaj plaws qhov sib piv ntawm kev ncua nyob hauv qhov tshwj xeeb no.
Kauj ruam 11:
Thaum kawg, taw tes taw ua ntej tau tshuaj xyuas los ntawm matchShape () ua haujlwm hauv OpenCV. Txoj haujlwm no sib piv cov duab ntawm ob tus neeg suav, hauv qhov no, ntawm kev qhia piv txwv ntawm kev zoo siab hauv daim duab saum toj no mus rau qhov sib luag ntawm sab laug ntawm daim duab saum toj no. Nws rov qab tus nqi txij li 0 txog 2 lossis 3, raws li qhov kev hloov pauv tam sim no hauv cov duab ntawm ob daim duab. Rau qhov zoo ib yam contour, nws rov qab 0.
ret = cv2.matchShapes (cnt1, cnt2, 1, 0.0)
Ntawm no, cn1 thiab cnt2 yog ob txoj kab uas yuav tsum tau muab piv.
Kauj Ruam 12: TSHUAJ TIV THAIV:
PySerial:
Peb siv PySerial lub tsev qiv ntawv ntawm nab nab los hloov cov ntaub ntawv ua tiav rau hauv cov ntaub ntawv txuas mus rau Arduino Uno ntawm Arduino USB Cable. Thaum ib qho kev taw qhia tshwj xeeb tau pom los ntawm opencv peb tau tsim qhov hloov pauv ib ntus hais tias 'x' thiab muab rau nws qee qhov tshwj xeeb tus nqi thiab hloov nws mus rau cov lej nkag uas siv cov kab lus hauv qab no:-
ntshuam serial #ntshuam Pyserial tsev qiv ntawv
serial. Serial ('', baudrate = '9600', timeout = '0') # teeb tsa cov ntawv tso tawm.. PORT NAME yog lub npe chaw nres nkoj uas cov ntaub ntawv xa tawm yuav tshwm sim.
serial.write (b'x ') # x yog cov tsiaj ntawv xa mus rau chaw nres nkoj … b yog los hloov cov hlua no rau bytes.
Arduino Ua:
Tam sim no arduino tau teev nyob rau hauv ib txoj hauv kev uas txhua qhov sib txawv x tau teeb tsa ncaj qha rau qee qhov kev nqis tes ua lub luag haujlwm ntawm cov neeg hlau (hais tias kev tshawb pom ntawm sab laug tes yuav ua rau lub zog ntawm sab xis tig sab laug). Peb tuaj yeem tswj cov lus tsa suab ntawm txhua lub log txhais lus raws li kev hloov pauv los ntawm kev hloov pauv txoj cai kom raug.
L298N Tsav tsheb:
Tsav Tsheb tau siv los ua tus neeg nruab nrab nruab nrab ntawm lub cev muaj zog thiab lub zog siv txij li lub cav tsis tuaj yeem siv ncaj qha vim qhov ntsuas hluav taws xob qis. Li-Po Roj teeb txuas nrog nws lub 12V input davhlau ya nyob twg thiab peb txuas arduino lub 5V lub qhov (socket) rau lub cav tsav tsheb 5V lub qhov (socket) thaum kawg txuas hauv av ntawm Li-Po nrog rau arduino nyob rau hauv ib qho av hauv qhov av ntawm tus tsav tsheb.
Tam sim no lub davhlau ya nyob twg ntawm lub cav tau txuas nrog ntawm cov qhov muab. Thaum kawg peb txuas cov tswv yim txuas rau lub cav rau PWM tso zis ntawm arduino tso cai rau peb dawb los txiav txim siab qhov kev hloov pauv thiab txhais lus ntawm cov lus tsa suab kom raug.
Pom zoo:
SASSIE: Cov Txheej Txheem rau Kev Txaus Siab Tsis Txaus Siab thiab Kev Sib Tham Sib Tham: 5 Cov Kauj Ruam
SASSIE: Cov Txheej Txheem rau Kev Txom Nyem Tsis Txaus Siab thiab Kev Sib Tham Sib Tham: SASSIE yog lo lus teb rau lo lus nug peb txhua tus tau nug peb tus kheej thaum muaj kev ntsiag to txawv ntawm ib qho hauv peb lub neej, "Kuv puas yuav tham tom ntej?" Zoo tam sim no koj tsis tas yuav txhawj xeeb vim tias SASSIE tau tsim tshwj xeeb los lees paub qhov txawv txav uas ntsiag to
THIAB LUB NEEJ !! (Sib tham sib tham rooj sib tham): 4 Kauj Ruam
THIAB LUB NEEJ !! (sib tham sib tham txog Thruth Table): Nyob zoo cov phooj ywg, Kuv vam tias koj txhua tus nyob hauv koj lub tsev zoo thiab xav tsis thoob dab tsi ntawm cov ntaub ntawv uas muaj ?? Nkag siab cov rooj vag logic yog qhov tseem ceeb heev rau ob leeg
Phab Ntsa Mount rau IPad Raws Li Tsev Automation Tswj Vaj Huam Sib Luag, Siv Servo Tswj Cov Hlau nplaum los Qhib Screen: 4 Cov Kauj Ruam (nrog Duab)
Phab Ntsa Mount rau IPad Raws Li Tsev Automation Tswj Vaj Huam Sib Luag, Siv Servo Tswj Cov Hlau nplaum los Qhib Screen: Tsis ntev los no kuv tau siv sijhawm qee lub sijhawm siv khoom hauv thiab ib puag ncig kuv lub tsev. Kuv tab tom siv Domoticz ua kuv daim ntawv thov Tsev Automation, saib www.domoticz.com kom paub meej. Hauv kuv tshawb nrhiav daim ntawv thov daim ntawv qhia uas qhia tag nrho Domoticz cov ntaub ntawv tog
Arduino Neeg Hlau Nrog Kev Nyob, Kev Qhia thiab Qib Kev Sib Hloov (Sab Hnub Poob, Sab Hnub Poob, Sab Qaum Teb, Sab Qab Teb) Tswj los ntawm Lub Suab Siv Bluetooth Module thiab Kev Siv Tus Neeg Siv Hluav Taws Xob: 6 Kauj Ruam
Arduino Neeg Hlau Nrog Kev Nyob, Kev Qhia thiab Qib Kev Sib Hloov (Sab Hnub Poob, Sab Hnub Poob, Sab Qaum Teb, Sab Qab Teb) Tswj los ntawm Lub Suab Siv Bluetooth Module thiab Kev Siv Tus Neeg Siv Hluav Taws Xob: Cov lus qhia no piav qhia yuav ua li cas thiaj tsim tau Arduino Robot uas tuaj yeem txav mus raws qhov xav tau (Forward, Backward) , Sab laug, Txoj Cai, Sab Hnub Poob, Sab Hnub Poob, Sab Qaum Teb, Sab Qab Teb) xav tau Kev nrug deb hauv Centimeters siv lub suab hais kom ua. Neeg hlau kuj tseem tuaj yeem txav tau tus kheej
Cov Neeg Siv Yooj Yim Sib Tham Sib Tham rau Kev Qhia thiab Kev Ntsuam Xyuas: 11 Kauj Ruam
Cov Neeg Siv Yooj Yim Sib Tham Sib Tham rau Kev Qhia thiab Kev Ntsuam Xyuas: Txoj haujlwm no tau tsim los ua ib feem ntawm chav kawm hauv tsev kawm qib siab, lub hom phiaj yog ua kom muaj kev sib tham sib tham los qhia thiab ntsuas qee yam ncauj lus. Rau nws peb tau siv Kev Ua Haujlwm ntawm PC rau lub interface thiab Arduino NANO rau lub khawm arcade thiab LEDs, yog li