Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Kuweka Python na OpenCV
- Hatua ya 2: Je! Ni Sifa zipi zinazofanana na Haar?
- Hatua ya 3: Kuandika katika Python
- Hatua ya 4: Kupanga Arduino
- Hatua ya 5: Hitimisho
Video: Uso Ufuatiliaji Kifaa! Chatu na Arduino: Hatua 5
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Na Techovator0819 Channel Yangu ya Youtube Fuata Zaidi na mwandishi:
Kuhusu: Ninapenda tu kutengeneza vitu vipya. Kama vitu vinavyoshughulika na wadhibiti wadogo, uhandisi wa mitambo, Akili ya bandia, Sayansi ya Kompyuta na chochote kinachonivutia. Na hapa utapata yote… Zaidi Kuhusu Techovator0819 »
Halo kila mtu huko nje akisoma hii inayoweza kufundishwa. Hiki ni kifaa kinachofuatilia uso ambacho hufanya kazi kwenye maktaba ya chatu inayoitwa OpenCV. CV inasimama kwa 'Maono ya Kompyuta'. Kisha nikaanzisha kiolesura cha serial kati ya PC yangu na Arduino UNO yangu. Kwa hivyo hiyo inamaanisha hii haifanyi kazi tu kwenye Python.
Kifaa hiki kinatambua uso wako kwenye fremu, kisha hutuma maagizo kadhaa kwa Arduino ili kuweka kamera kwa njia ambayo inakaa ndani ya fremu! Sauti ya baridi? Wacha tuingie ndani yake basi.
Vifaa
1. Arduino UNO
2. 2 x Servo Motors (Motors yoyote ya servo itakuwa sawa lakini nilitumia Tower Pro SG90)
3. Kufunga Chatu
4. Kuweka OpenCV
5. Kamera ya Wavuti
Hatua ya 1: Kuweka Python na OpenCV
Kuweka chatu ni sawa mbele!
www.python.org/downloads/
Unaweza kufuata kiunga hapo juu kupakua toleo la chatu (Mac, windows au Linux) ambayo inakufaa zaidi (64 bit au 32 bit). Mchakato wa usakinishaji ni rahisi na utaongozwa na kiolesura.
Mara tu ukimaliza usanikishaji, fungua kidokezo chako cha amri na andika yafuatayo:
bomba kufunga opencv-chatu
Hiyo inapaswa kusanikisha maktaba ya openCV. Ikiwa kuna shida ya kupiga risasi, unaweza kuangalia ukurasa HUU.
Baada ya kuanzisha Mazingira na mahitaji yote ya kwanza, wacha tuone ni jinsi gani tunaweza kujenga hii!
Hatua ya 2: Je! Ni Sifa zipi zinazofanana na Haar?
Vipengele kama vya Haar ni sifa za picha ya dijiti. Jina linatoka kwa Haar wavelets. Hizi ni familia za mawimbi yenye umbo la mraba ambayo hutumiwa kubainisha sifa kwenye picha ya dijiti. Kasino za Haar kimsingi ni kiainishaji kinachotusaidia kugundua vitu (kwa nyuso zetu) kwa kutumia huduma kama za haar.
Kwa upande wetu, kwa unyenyekevu, tutatumia Haar Cascades zilizofunzwa mapema kutambua nyuso. Unaweza kufuata kiunga hiki cha ukurasa wa github na kupakua faili ya xml kwa Haar Cascade.
1. Bonyeza 'haarcascade_frontalface_alt.xml'
2. Bonyeza kitufe cha 'Mbichi' kwenye sehemu ya juu kulia kwenye dirisha la msimbo.
3. Itakuelekeza kwenye ukurasa mwingine na maandishi tu.
4. Bonyeza kulia na ubonyeze 'Okoa kama..'
5. Hifadhi kwenye saraka sawa au folda kama ile ya nambari ya chatu ambayo uko karibu kuandika.
Hatua ya 3: Kuandika katika Python
kuagiza cv2
kuagiza numpy kama np kuagiza muda wa kuagiza serial
Tunaingiza maktaba yote ambayo tunahitaji.
ard = mfululizo. Serial ("COM3", 9600)
Tunaunda kitu cha serial kinachoitwa 'ard'. Tunataja pia Jina la Bandari na BaudRate kama vigezo.
uso_cascade = cv2. CascadeClassifier ('haarcascade_frontalface_default.xml')
Tunaunda kitu kingine kwa Cascade yetu ya Haar. Hakikisha faili ya HaarCascade inabaki kwenye folda sawa na programu hii ya chatu.
vid = cv2. Ukamataji wa Video (0)
Tunaunda kitu ambacho kinachukua video kutoka kwa kamera ya wavuti. 0 kama parameter inamaanisha kamera ya kwanza ya wavuti iliyounganishwa na PC yangu.
docs.opencv.org/2.4/modules/objdetect/doc/cascade_classification.html
wakati Kweli:
_, frame = vid.read () # inasoma fremu ya sasa kwa fremu inayobadilika ya kijivu = cv2.cvtColor (fremu, cv2. COLOR_BGR2GRAY) #badilisha sura -> picha iliyotiwa grey # mstari ufuatao hugundua nyuso. #First parameter ni picha ambayo unataka kugundua kwenye # minSize = () inabainisha ukubwa wa chini wa uso kulingana na saizi #Bofya kiunga hapo juu kujua zaidi juu ya nyuso za Uainishaji wa Cascade = face_cascade.detectMultiScale (kijivu, minSize) = (80, 80), min Majirani = 3) #A kwa kitanzi kugundua nyuso. kwa (x, y, w, h) katika nyuso: cv2. mstatili (fremu, (x, y), (x + w, y + h), (255, 0, 0), 2) #chora mstatili kuzunguka uso Xpos = x + (w / 2) # huhesabu X kuratibu katikati ya uso. Ypos = y + (h / 2) # calcualtes Y inaratibu katikati ya uso ikiwa Xpos> 280: #Nambari zifuatazo zinazuia ikiwa uso ni ard.write ('L'.encode ()) #on kushoto, kulia, juu au chini kwa heshima na wakati.kulala (0.01) # katikati ya fremu. elif Xpos 280: ard.write ('D'.encode ()) time.sleep (0.01) elif Ypos <200: ard.write (' U'.encode ()) time. ('S'encencode ()) muda.kulala (0.01) kuvunja cv2.imshow (' fremu ', fremu) #inaonyesha fremu katika dirisha tofauti. k = cv2.waitKey (1) & 0xFF ikiwa (k == ord ('q')): #if 'q' imesisitizwa kwenye kibodi, hutoka kitanzi cha wakati. kuvunja
cv2.destroyAllWindows () # inafunga windows zote
ard.close () # inafunga mawasiliano ya serial
vid.release () #acha kupokea video kutoka kwa wavuti.
Hatua ya 4: Kupanga Arduino
Jisikie huru kurekebisha programu kulingana na usanidi wa vifaa vyako kulingana na mahitaji yako.
# pamoja
Servo servoX;
Huduma ya ServoY;
int x = 90;
int y = 90;
usanidi batili () {
// weka nambari yako ya usanidi hapa, kukimbia mara moja: Serial.begin (9600); kiambatisho cha servoX (9); kushikamana na ServoY (10); andika servoX (x); andika (y); kuchelewesha (1000); }
mchango wa char = ""; // pembejeo ya serial imehifadhiwa katika tofauti hii
kitanzi batili () {
// weka nambari yako kuu hapa, kukimbia mara kwa mara: ikiwa (Serial.available ()) {// huangalia ikiwa data yoyote iko kwenye serial buffer input = Serial.read (); // inasoma data kwa kutofautisha ikiwa (pembejeo == 'U') {servoY.write (y + 1); // hurekebisha pembe ya servo kulingana na pembejeo y + = 1; // inasasisha thamani ya pembe} mwingine ikiwa (pembejeo == 'D') {servoY.write (y-1); y - = 1; } mwingine {servoY.write (y); } ikiwa (pembejeo == 'L') {servoX.write (x-1); x - = 1; } vingine ikiwa (pembejeo == 'R') {servoX.write (x + 1); x + = 1; } mwingine {servoX.write (x); } pembejeo = ""; // inafuta tofauti} // mchakato unaendelea kurudia !!:)}
Hatua ya 5: Hitimisho
Hii ni njia nzuri na maingiliano ambayo unaweza kuunda kuingiza Maono ya Kompyuta katika miradi yako ya Arduino. Maono ya Kompyuta ni ya kufurahisha kabisa. Na nina matumaini sana kwamba nyinyi mmeipenda. Ikiwa ndio, nijulishe katika maoni. Na tafadhali jiandikishe kwa idhaa yangu ya youtube. Asante mapema <3 <3
youtube.com/channel/UCNOSfI_iQ7Eb7-s8CrExGfw/video
Ilipendekeza:
Kifaa cha ASS (Kifaa cha Kinga Jamii): Hatua 7
Kifaa cha ASS (Kifaa cha Kupambana na Jamii): Sema wewe ni mtu kinda ambaye anapenda kuwa karibu na watu lakini hapendi wakaribie sana. Wewe pia ni mtu wa kupendeza na una wakati mgumu kusema hapana kwa watu. Kwa hivyo haujui jinsi ya kuwaambia warudi nyuma. Kweli, ingiza - Kifaa cha ASS! Y
Kifaa cha Usalama cha Wanawake na Ufuatiliaji wa GPS na Tahadhari Kutumia Arduino: Hatua 6
Kifaa cha Usalama wa Wanawake na Ufuatiliaji wa GPS na Tahadhari Kutumia Arduino: Pamoja na teknolojia yote inayopatikana kwetu katika nyakati za hivi karibuni, sio ngumu kujenga kifaa cha usalama kwa wanawake ambacho sio tu kitatoa kengele ya dharura lakini pia tuma ujumbe kwa marafiki wako, familia , au mtu anayehusika. Hapa tutaunda bendi
Xpedit - Kifaa cha Ufuatiliaji wa Anga cha Kusafiri na Kusafiri: Hatua 12 (na Picha)
Xpedit - Kifaa cha Ufuatiliaji wa Anga cha Kusafiri na Kusafiri: Unapopanga kufanya safari ya kusisimua au kusafiri porini, ni muhimu kuwa na kifaa kwenye mkoba wako kinachokusaidia kuelewa mazingira. Kwa safari yangu ijayo ya utalii, nilipanga kujenga kifaa cha mkono ambacho kinasaidia
Uso wa Kubadilisha uso wa uso - Kuwa Chochote: Hatua 14 (na Picha)
Uso wa Kubadilisha Uso wa Makadirio - Kuwa Chochote: Unafanya nini wakati hauwezi kuamua unachotaka kuwa Halloween? Kuwa kila kitu. Kinga ya makadirio inajumuisha maski nyeupe iliyochapishwa ya 3D, pi ya rasipberry, projekta ndogo na kifurushi cha betri. Inauwezo wa kutengeneza kitu chochote na kila kitu
Kifaa cha Ufuatiliaji Mbaya Kutoka kwa GPS na Redio za Njia Mbili: Hatua 7
Kifaa cha Ufuatiliaji Mbaya Kutoka kwa GPS na Redio za Njia Mbili: Kwa hivyo, nilitaka kupata kifaa cha ufuatiliaji. Mara tu nilipoangalia kwenye soko, niligundua bei za moja ya vitu hivyo huanza kwa mkono, na huenda hadi mguu au zaidi! Wazimu lazima usimamishwe! Hakika kanuni za kujua ni wapi kitu mimi