
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51




By Techovator0819Менин Youtube КаналымАзыр Автордун Дагы Издеңиз:




Жөнүндө: Мен жаңы нерселерди жасаганды жакшы көрөм. Микроконтроллерлер, машина куруу, жасалма интеллект, информатика жана мени кызыктырган нерселер сыяктуу. Ал эми бул жерде сиз… Techovator0819 жөнүндө кененирээк »
Саламатсыздарбы бул жерде окуганды окугандар. Бул OpenCV деп аталган питон китепканасында иштеген жүздү көзөмөлдөөчү түзүлүш. CV "Computer Vision" дегенди билдирет. Андан кийин мен компьютерим менен Arduino UNOнун ортосунда сериялык интерфейсти орноттум. Демек, бул Pythonдо гана иштебейт.
Бул түзмөк сиздин жүзүңүздү кадрда тааныйт, андан кийин камераны кадрдын ичинде калып туруу үчүн Arduinoго белгилүү буйруктарды жөнөтөт! Үнү сонунбу? Келгиле анда, ошол жерге кирели.
Жабдуулар
1. Arduino UNO
2. 2 x Servo Motors (Бардык сервоприводдор жакшы болот, бирок мен Tower Pro SG90 колдондум)
3. Python орнотуу
4. OpenCV орнотуу
5. Веб-камера
1 -кадам: Python жана OpenCV орнотуу
Python орнотуу абдан алдыга!
www.python.org/downloads/
Сизге эң ылайыктуу (64 бит же 32 бит) python версиясын (Mac, Windows же Linux) жүктөө үчүн жогорудагы шилтемени басыңыз. Калган орнотуу процесси жөнөкөй жана сиз интерфейс аркылуу жетектелесиз.
Орнотууну бүтүргөндөн кийин, буйрук көрсөтмөсүн ачып, төмөнкүлөрдү териңиз:
opencv-python орнотуу
Бул openCV китепканасын орнотушу керек. Кыйынчылыктар болсо, БУЛ баракты текшере аласыз.
Айлана -чөйрөнү жана бардык шарттарды койгондон кийин, биз муну кантип кура аларыбызды карап көрөлү!
2-кадам: Хаарга окшош өзгөчөлүктөр деген эмне?
Хаарга окшош өзгөчөлүктөр санариптик сүрөттүн өзгөчөлүктөрү. Аты Хаар толкундарынан келип чыккан. Бул санариптик сүрөттөгү өзгөчөлүктөрдү аныктоо үчүн колдонулган төрт бурчтуу толкундардын үй -бүлөсү. Хаар каскаддары-негизинен классификатор, ал бизге объектилерди аныктоого жардам берет (биздин учурда жүзүбүз).
Биздин учурда, жөнөкөйлүк үчүн, биз жүздөрдү аныктоо үчүн алдын ала даярдалган Haar Cascades колдонобуз. Сиз github баракчасынын БУЛ шилтемесине кирип, Haar Cascade үчүн xml файлын жүктөп алсаңыз болот.
1. 'haarcascade_frontalface_alt.xml' чыкылдатыңыз
2. Коддун терезесинин жогорку оң жагындагы 'Raw' баскычын чыкылдатыңыз.
3. Бул сизди тек гана текст менен башка баракка багыттайт.
4. Оң баскыч менен "Сактоо …" дегенди басыңыз.
5. Аны сиз жазып жаткан python кодунун каталогуна же папкасына сактаңыз.
3 -кадам: Pythonдо коддоо
cv2 импорттоо
np импорттоо катарында импорттоо
Биз керектүү китепканалардын баарын импорттойбуз.
ard = serial. Serial ("COM3", 9600)
Биз "ard" деп аталган сериялык объект түзөбүз. Биз ошондой эле Порт Атын жана BaudRate параметрлери катары көрсөтөбүз.
face_cascade = cv2. CascadeClassifier ('haarcascade_frontalface_default.xml')
Биз Haar Cascade үчүн дагы бир объект түзөбүз. HaarCascade файлы ушул питон программасы менен бир папкада кала турганын текшериңиз.
vid = cv2. VideoCapture (0)
Биз веб -камерадан видео тартып турган объект түзөбүз. 0 параметр катары менин компьютериме туташкан биринчи веб -камераны билдирет.
docs.opencv.org/2.4/modules/objdetect/doc/cascade_classification.html
чын болсо:
_, frame = vid.read ()#учурдагы кадрды өзгөрмөлүү кадрга окуйт grey = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY)#кадрды айлантат -> боз масштабдуу сүрөт#кийинки сап беттерди аныктайт. #Биринчи параметр - бул #minSize = () бетинин минималдуу өлчөмүн аныктагыңыз келген сүрөт #Каскаддын классификациясынын жүздөрү жөнүндө көбүрөөк билүү үчүн жогорудагы шилтемени басыңыз = face_cascade.detectMultiScale (боз, минСиз) = (80, 80), minNeighbors = 3) #A беттерди аныктоо үчүн цикл үчүн. үчүн (x, y, w, h) жүздөрүндө: cv2.drectangle (frame, (x, y), (x+w, y+h), (255, 0, 0), 2)#тегерек бурчтук жүз Xpos = x+(w/2)#беттин борборунун X координатын эсептейт. Ypos = y+(h/2) #Xpos> 280 болсо, беттин борборунун Y координатын эсептейт: #Төмөнкү код блоктордун жүзүн ard.write ('L'.encode ()) #боюнча текшерет убакытка карата сол, оң, үстү же асты.уйку (0.01) #фреймдин борбору. elif Xpos 280: ard.write ('D'.encode ()) time.sleep (0.01) elif Ypos <200: ard.write (' U'.encode ()) time.sleep (0.01) else: ard.write ('S'.encode ()) time.sleep (0.01) break cv2.imshow (' frame ', frame)#кадрды өзүнчө терезеде көрсөтөт. k = cv2.waitKey (1) & 0xFF if (k == ord ('q')): #if 'q' клавиатурада басылганда, ал циклден чыгат. тыныгуу
cv2.destroyAllWindows () #бардык терезелерди жабат
ard.close () #сериялык байланышты жабат
vid.release () #веб камерадан видео алууну токтотот.
4 -кадам: Arduino программалоо
Программаны өзүңүздүн муктаждыктарыңызга ылайыкташтырылган аппараттык жабдууларыңызга жараша өзгөртө аласыз.
#кошуу
Servo servoX;
Servo servoY;
int x = 90;
int y = 90;
жараксыз орнотуу () {
// орнотуу кодуңузду бул жерге коюңуз, бир жолу иштетүү үчүн: Serial.begin (9600); servoX.attach (9); servoY.attach (10); servoX.write (x); servoY.write (y); кечигүү (1000); }
char киргизүү = ""; // сериялык киргизүү бул өзгөрмөдө сакталат
void loop () {
// бул жерде негизги кодуңузду кайра -кайра иштетүү үчүн коюңуз: if (Serial.available ()) {// кандайдыр бир маалыматтын сериялык буфердик кириште экенин текшерет = Serial.read (); // маалыматтарды өзгөрмөгө окуйт if (input == 'U') {servoY.write (y+1); // y += 1 киришине ылайык servo бурчун тууралайт; // бурчтун маанисин жаңыртат} else if if (input == 'D') {servoY.write (y-1); y -= 1; } else {servoY.write (y); } if (input == 'L') {servoX.write (x-1); x -= 1; } else if (input == 'R') {servoX.write (x+1); x += 1; } else {servoX.write (x); } киргизүү = ""; // өзгөрмөнү тазалайт} // процесс кайталанат !!:)}
5 -кадам: Жыйынтык
Бул сиздин Arduino долбоорлоруңузга Computer Vision киргизүүнү долбоорлоонун эң сонун жана интерактивдүү жолу. Computer Vision чындыгында абдан кызыктуу. Жана силерге балдар жакты деп ишенем. Ооба болсо, комментарийлерде мага билдириңиз. Жана менин ютуб каналыма жазылыңыз. Алдын ала рахмат <3 <3
youtube.com/channel/UCNOSfI_iQ7Eb7-s8CrExGfw/videos
Сунушталууда:
Азыр Pee жок, мышыктарды үйүңүздө айлануусун токтоткон үй жаныбарларынын жүрүм -турумун жөнгө салуу түзмөгү: 4 кадам

Азыр Pee жок, мышыктарды үйүңүздө картаюуну токтоткон үй жаныбарларынын жүрүм -турумун жөнгө салуу түзмөгү: Мени мышыгым ушунчалык убара кылды, ал менин төшөгүмө сийгенди жакшы көрөт, мен ага керектүү нерселердин бардыгын текшерип көрдүм жана ветеринарга алып бардым. Мен ойлогондун баарын чечип, дарыгердин сөзүн уккандан кийин, анын жөн гана жаман жүрүм -туруму бар экенин түшүнөм. Ошондуктан чи
MPU-6000 жана Arduino Nano колдонуу менен кыймылга көз салуу: 4 кадам

MPU-6000 жана Arduino Nano колдонуу менен кыймылга көз салуу: MPU-6000-бул 3-октук акселерометр жана 3-октук гироскоп бар 6-октук кыймылга көз салуу сенсору. Бул сенсор 3 өлчөмдүү тегиздикте объекттин так ордун жана жайгашуусун эффективдүү көзөмөлдөөгө жөндөмдүү. Аны мен иштете алам
Ротациялык Ок менен Объект Көз салуу Камерасынын Слайдери. 3D Printed & RoboClaw DC Motor Controller & Arduino боюнча курулган: 5 кадам (Сүрөттөр менен)

Ротациялык Ок менен Объект Көз салуу Камерасынын Слайдери. 3D Printed & RoboClaw DC Motor Controller & Arduino боюнча курулган: Бул долбоор менин DIY менен видео тартууга болгон кызыгуумду айкалыштыра баштагандан бери менин эң жакшы көргөн долбоорлорумдун бири болуп калды. Мен ар дайым карап турчумун жана камераны экранды көздөй жылдыруу үчүн кинолорго окшоштургум келет
Бетке көз салуу жана жылмаюу Хэллоуин роботторун аныктоо: 8 кадам (сүрөттөр менен)

Бетке көз салуу жана жылмаюу Хэллоуин роботторун аныктоо: Хэллоуин келе жатат! Биз сонун нерсе курууну чечтик. Ghosty жана Skully роботтору менен таанышыңыз. Алар сиздин жүзүңүздү ээрчип кете алышат жана алар сиз менен күлүп күлүүңүздү билишет! Бул долбоор iRobbie тиркемесин колдонуунун дагы бир мисалы болуп саналат
Бетке көз салуу тапанчасы: 4 кадам

Face Tracking Gun: Бул долбоор бул жерде көрсөтүлгөн лазердик мылтыктын долбоорунун кеңейиши-https://www.instructables.com/id/Building-a-Sentry-Gun-with-Laser-Trip-Wire-System-/ ALLSTEPS Жалгыз айырмасы, мылтык лазер менен эмес