Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:13
Sa pamamagitan ng Techovator0819 Aking Youtube ChannelMasunod Pa sa may-akda:
Tungkol sa: Gusto ko lang gumawa ng mga bagong bagay. Tulad ng mga bagay na nakikipag-usap sa mga micro-controler, mechanical engineering, Artipisyal na Katalinuhan, Computer Science at anupaman sa lahat na interesado ako. At dito makikita mo ang lahat… Higit Pa Tungkol sa Techovator0819 »
Kumusta ang lahat doon na binabasa ang itinuturo na ito. Ito ay isang aparato sa pagsubaybay sa mukha na gumagana sa isang library ng sawa na tinatawag na OpenCV. Ang CV ay nangangahulugang 'Computer Vision'. Pagkatapos ay nag-set up ako ng isang serial interface sa pagitan ng aking PC at ng aking Arduino UNO. Kaya't nangangahulugan ito na hindi lamang ito gumagana sa Python.
Kinikilala ng aparatong ito ang iyong mukha sa frame, pagkatapos ay nagpapadala ito ng ilang mga utos sa Arduino na iposisyon ang camera sa paraang mananatili ito sa loob ng frame! Parang cool? Sumakay agad dito.
Mga gamit
1. Arduino UNO
2. 2 x Servo Motors (Anumang servo motor ay magiging maayos ngunit ginamit ko ang Tower Pro SG90)
3. Pag-install ng Python
4. Pag-install ng OpenCV
5. Web-Camera
Hakbang 1: Pag-install ng Python at OpenCV
Ang pag-install ng Python ay medyo tuwid!
www.python.org/downloads/
Maaari mong sundin ang link sa itaas upang i-download ang bersyon ng sawa (Mac, windows o Linux) na pinakaangkop sa iyo (64 bit o 32 bit). Ang natitirang proseso ng pag-install ay simple at gagabayan ka ng interface.
Kapag natapos mo ang pag-install, buksan ang iyong prompt ng utos at i-type ang sumusunod:
pip install opencv-python
Dapat i-install iyon sa openCV library. Sa kaso ng pag-shoot ng problema, maaari mong suriin ang pahinang ITO.
Matapos ma-set up ang Kapaligiran at lahat ng mga kinakailangan, tingnan natin kung paano natin talaga maitatayo ito!
Hakbang 2: Ano ang Mga Tampok na Parang Haar?
Ang mga tampok na tulad ng haar ay mga tampok ng isang digital na imahe. Ang pangalan ay nagmula sa Haar wavelets. Ito ang pamilya ng mga parisukat na hugis-alon na ginagamit na kilalanin ang mga tampok sa isang digital na imahe. Ang Haar cascades ay karaniwang isang classifier na makakatulong sa amin na makita ang mga bagay (sa aming mga mukha ng kaso) gamit ang mga tampok na tulad ng haar.
Sa aming kaso, para sa pagiging simple, gagamitin namin ang paunang sanay na Haar Cascades upang makilala ang mga mukha. Maaari mong sundin ang link na ITO ng isang pahina ng github at i-download ang xml file para sa Haar Cascade.
1. Mag-click sa 'haarcascade_frontalface_alt.xml'
2. Mag-click sa pindutang 'Raw' sa kanang bahagi sa itaas ng code window.
3. Idirekta ka nito sa isa pang pahina na may teksto lamang.
4. Mag-right click at pindutin ang 'I-save bilang..'
5. I-save ito sa parehong direktoryo o folder tulad ng sa python code na tungkol sa iyong isulat.
Hakbang 3: Pag-coding sa Python
import cv2
i-import ang numpy bilang np i-import ang oras ng serial import
Ina-import namin ang lahat ng mga silid-aklatan na kailangan namin.
ard = serial. Serial ("COM3", 9600)
Lumilikha kami ng isang serial object na tinatawag na 'ard'. Tinukoy din namin ang Pangalan ng Port at ang BaudRate bilang mga parameter.
face_cascade = cv2. CascadeClassifier ('haarcascade_frontalface_default.xml')
Lumilikha kami ng isa pang bagay para sa aming Haar Cascade. Siguraduhin na ang HaarCascade file ay mananatili sa parehong folder tulad ng programang ito sawa.
vid = cv2. VideoCapture (0)
Lumilikha kami ng isang object sa nakunan ng video mula sa webcam. Ang 0 bilang parameter ay nangangahulugang ang unang web cam na nakakonekta sa aking PC.
docs.opencv.org/2.4/modules/objdetect/doc/cascade_classification.html
habang Totoo:
_, frame = vid.read () # binabasa ang kasalukuyang frame sa variable frame na kulay-abong = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) #converts frame -> grayscaled image #. Ang sumusunod na linya ay nakakakita ng mga mukha. Ang #First parameter ay ang imahe kung saan nais mong tuklasin sa # minSize = () na tumutukoy sa minimum na laki ng mukha sa mga tuntunin ng mga pixel = (80, 80), minNeighbours = 3) #A para sa loop upang makita ang mga mukha. para sa (x, y, w, h) sa mga mukha: cv2.rectangle (frame, (x, y), (x + w, y + h), (255, 0, 0), 2) #draws isang rektanggulo sa paligid ang mukha Xpos = x + (w / 2) # kinakalkula ang X na co-ordinate ng gitna ng mukha. Ypos = y + (h / 2) #calcualtes ang Y co-ordinate ng gitna ng mukha kung Xpos> 280: # Ang mga sumusunod na code block ay suriin kung ang mukha ay ard.write ('L'.encode ()) #on ang kaliwa, kanan, itaas o ibaba na patungkol sa oras. pagtulog (0.01) # gitna ng frame. elif Xpos 280: ard.write ('D' ('S'.encode ()) oras. Matulog (0.01) masira ang cv2.imshow (' frame ', frame) # Ipinapakita ang frame sa isang hiwalay na window. k = cv2.waitKey (1) & 0xFF kung (k == ord ('q')): #if 'q' ay pinindot sa keyboard, lalabas ito ng habang loop. pahinga
cv2.destroyAllWindows () # sarado ang lahat ng mga bintana
ard.close () #Sara ang serial na komunikasyon
vid.release () #hihinto ang pagtanggap ng video mula sa web cam.
Hakbang 4: Programming ang Arduino
Huwag mag-atubiling baguhin ang programa ayon sa pag-setup ng iyong hardware na angkop sa iyong mga pangangailangan.
# isama
Servo servoX;
Servo servoY;
int x = 90;
int y = 90;
walang bisa ang pag-setup () {
// ilagay ang iyong setup code dito, upang tumakbo nang isang beses: Serial.begin (9600); servoX.attach (9); servoY.attach (10); servoX.write (x); servoY.write (y); pagkaantala (1000); }
input ng char = ""; // serial input ay naka-imbak sa variable na ito
void loop () {
// ilagay ang iyong pangunahing code dito, upang tumakbo nang paulit-ulit: kung (Serial.available ()) {// sinusuri kung ang anumang data ay nasa serial buffer input = Serial.read (); // binabasa ang data sa isang variable kung (input == 'U') {servoY.write (y + 1); // inaayos ang anggulo ng servo ayon sa input y + = 1; // ina-update ang halaga ng anggulo} iba pa kung (input == 'D') {servoY.write (y-1); y - = 1; } iba pa {servoY.write (y); } kung (input == 'L') {servoX.write (x-1); x - = 1; } iba pa kung (input == 'R') {servoX.write (x + 1); x + = 1; } iba pa {servoX.write (x); } input = ""; // clears the variable} // proseso ay patuloy na inuulit !!:)}
Hakbang 5: Konklusyon
Ito ay isang maganda at isang interactive na paraan kung saan maaari mong idisenyo ang isama ang Computer Vision sa iyong mga proyekto sa Arduino. Ang Computer Vision ay talagang masaya. At inaasahan ko talaga na nagustuhan ninyo ito. Kung oo, ipaalam sa akin sa mga komento. At mangyaring mag-subscribe sa aking youtube channel. Salamat nang maaga <3 <3
youtube.com/channel/UCNOSfI_iQ7Eb7-s8CrExGfw/video
Inirerekumendang:
BOSSIDAD NA MUKHA SA MUKHA: 3 Hakbang
GINAGAWA NG BOSES ANG MASK NG MUKHA: ISANG kaunting buwan ang bumalik sa isang lalaki na tinatawag na 'TYLER GLAIEL' na gumawa ng isang tinig na gawa ng mukha na maskara na naging VIRAL … MATAPOS NA MARAMING GINAWA ITO PERO WALA NG KANILANG NAGBIGAY NG LAHAT NG MGA DETALYONG KINAKAILANGAN PARA SA PAGKUMPLETO NG ITO. TYLER SA KANYANG KASAKIT ANG NABABA ANG DIY GABAY AT ANG GithUB CO
Mukha ang Frame ng Larawan ng OSD sa Mukha: 11 Mga Hakbang (na may Mga Larawan)
Ang Face Aware OSD Photo Frame: Ipinapakita ng Mga Instructionable na ito kung paano gumawa ng isang frame ng larawan na may kamalayan sa mukha sa Screen Display (OSD). Maaaring magpakita ang OSD ng oras, panahon o iba pang impormasyon sa internet na gusto mo
Pagsubaybay sa Mukha at Ngiti Ng Pagkakita ng Mga Robot sa Halloween: 8 Hakbang (na may Mga Larawan)
Pagsubaybay sa Mukha at Ngiti Ng Pagkakita ng Mga Robot sa Halloween: Darating ang Halloween! Nagpasiya kaming bumuo ng isang bagay na cool. Kilalanin ang mga Ghosty at Skully robot. Maaari nilang sundin ang iyong mukha at alam nila kapag nakangiti kang tumawa kasama ka! Ang proyektong ito ay isa pang halimbawa ng paggamit ng iRobbie App na nagko-convert sa iPhone
Nagmamakaawang Robot na May Pagsubaybay sa Mukha at Pagkontrol ng Xbox Controller - Arduino: 9 Mga Hakbang (na may Mga Larawan)
Nagmamakaawang Robot Sa Pagsubaybay sa Mukha at Pagkontrol ng Xbox Controller - Arduino: Gagawa kami ng isang robot na humihingi. Susubukan ng robot na ito na inisin o makuha ang pansin ng mga dumadaan na tao. Madidiskubre nito ang kanilang mga mukha at susubukan silang kunan ng lasers. Kung bibigyan mo ang robot ng isang barya, kakantahin niya ang isang kanta at sayaw. Mangangailangan ang robot ng isang
Texas Big Mukha - Proyekto sa Mukha ng 3D Paano Upang: 10 Hakbang (na may Mga Larawan)
Texas Big Mukha - Proyekto sa Mukha ng 3D Paano Upang: Lumikha ng " buhay na mga estatwa " sa pamamagitan ng pag-project ng iyong mukha sa mga eskultura.A Paano Paano By: David Sutherland, Kirk Moreno sa pakikipagtulungan ng Graffiti Research Lab Houston * Maraming mga komento ang nagsabing mayroong ilang mga isyu sa audio. Ito ay