विषयसूची:
- चरण 1: चीजें जिनकी आपको आवश्यकता होगी:
- चरण 2: पायथन पर्यावरण की स्थापना:
- चरण 3: पायथन लिपि:
- चरण 4: Arduino कोड:
- चरण 5: पैन-टिल्ट मैकेनिज्म: -
- चरण 6: संबंध बनाना:
- चरण 7: परीक्षण:
वीडियो: ARDUINO का उपयोग करके फेस ट्रैकिंग !!!: 7 Steps
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
पिछले निर्देश में मैंने साझा किया था कि आप 'पिसरियल' मॉड्यूल का उपयोग करके Arduino और Python के बीच कैसे संवाद कर सकते हैं और एक एलईडी को नियंत्रित कर सकते हैं। यदि आपने इसे नहीं देखा है तो इसे यहाँ देखें: ARDUINO और PYTHON के बीच संचार!
और आप किसी वस्तु के रंग का पता कैसे लगा सकते हैं और उसे स्क्रीन पर कैसे ट्रैक कर सकते हैं, इसे यहां देखें: OPENCV और PYTHON का उपयोग करके रंग का पता लगाना।
इस निर्देशयोग्य में मैं आपको दिखाऊंगा कि कैसे Arduino और Python का उपयोग करके चेहरों को ट्रैक किया जाए और कैमरे को चेहरे का अनुसरण किया जाए। यह मुश्किल लग सकता है लेकिन मेरा विश्वास करो ऐसा नहीं है, आपको केवल Arduino और Python का बुनियादी ज्ञान चाहिए।
तो चलो शुरू हो जाओ…
चरण 1: चीजें जिनकी आपको आवश्यकता होगी:
आवश्यकताएं न्यूनतम हैं। यहां मैंने आपकी जरूरत की हर चीज की आंशिक सूची प्रदान की है:
हार्डवेयर आवश्यकता:
- Arduino यूएनओ (अमेज़ॅन यूएस/अमेज़ॅन ईयू)
- वेब कैम (अमेज़ॅन यूएस / अमेज़ॅन ईयू)
- सर्वोस एक्स 2 (अमेज़ॅन यूएस / अमेज़ॅन ईयू)
- ब्रेडबोर्ड (अमेज़ॅन यूएस / अमेज़ॅन ईयू)
- सर्वो पैन टिल्ट किट (अमेज़ॅन यूएस / अमेज़ॅन ईयू)
सॉफ्टवेयर आवश्यकता:
- पायथन 2.7 (स्थापित किया जाना चाहिए, लिनक्स ओएस में आमतौर पर यह पहले से स्थापित होता है)
- OpenCV (आप इसे अलग से डाउनलोड कर सकते हैं या 'पाइप इंस्टाल' का उपयोग करके इंस्टॉल कर सकते हैं, आगे बताया गया है)
- pyserial (पाइप के साथ स्थापित किया जा सकता है)
- सुन्न
- हरकास्केड।
सब कुछ इकट्ठा होने के बाद हम इंस्टॉलेशन स्टेप पर आगे बढ़ सकते हैं…
चरण 2: पायथन पर्यावरण की स्थापना:
पायथन स्थापित करना:
तो सबसे पहले हमें Python 2.7 अप एंड रनिंग की आवश्यकता है। ऐसा करने के लिए पहले अजगर 2.7.14 को डाउनलोड और इंस्टॉल करें। यह जांचने के लिए कि क्या यह सही तरीके से स्थापित है गोटो: विंडोज सर्च >> "आईडीएलई" टाइप करें >> एंटर दबाएं। एक पायथन शेल पॉप अप होना चाहिए।
या
सर्च टाइप 'सीएमडी' में और कमांड प्रॉम्प्ट खोलने के लिए एंटर दबाएं। सीएमडी टाइप >> पायथन और हिट एंटर में, पायथन इंटरफेस प्रदर्शित होना चाहिए।
यदि आपको सीएमडी में कोई त्रुटि दिखाई देती है, तो घबराएं नहीं आपको शायद पर्यावरण चर सेट करने की आवश्यकता है। पर्यावरण चर सेट करने के लिए आप यहां इस ट्यूटोरियल का अनुसरण कर सकते हैं।
अजगर में 'pyserial', 'OpenCV' और "numpy" इंस्टॉल करना:
इन मॉड्यूल को स्थापित करने के लिए हम उपयोग करेंगे pip install, सबसे पहले सीएमडी खोलें और निम्नलिखित कोड टाइप करें: -
पाइप सीरियल स्थापित करें
पाइप इंस्टाल ओपनसीवी-पायथन >पाइप इंस्टाल numpy
ये आदेश आवश्यक मॉड्यूल स्थापित करेंगे। अब हम कोडिंग भाग में जा सकते हैं…
चरण 3: पायथन लिपि:
कोड लिखना शुरू करने से पहले सबसे पहले एक नया फ़ोल्डर बनाना है क्योंकि सभी कोड को एक ही फ़ोल्डर में संग्रहीत करने की आवश्यकता है। इसलिए एक नया फोल्डर बनाएं, उसे जो चाहें नाम दें। और नीचे से 'Harcascade' डाउनलोड करें और इसे फोल्डर में पेस्ट करें।
अब नोटपैड खोलें और नीचे दी गई स्क्रिप्ट लिखें, इसे 'face.py' के रूप में उसी फोल्डर में सेव करें जैसे harcascade. (आप उस कोड को डाउनलोड कर सकते हैं जो मैंने नीचे दी गई फ़ाइल प्रदान की है):
#सभी आवश्यक मॉड्यूल आयात करें
np के रूप में आयात numpy आयात सीरियल आयात समय आयात sys आयात cv2 # arduino के लिए सेटअप संचार पथ ('COM5' के स्थान पर उस पोर्ट को रखें जिससे आपका arduino जुड़ा हुआ है) arduino = serial. Serial ('COM5', 9600) समय। सो जाओ (2) प्रिंट ("आर्डिनो से कनेक्टेड …") # फेस डिटेक्शन के लिए हार्कास्केड को आयात करना face_cascade = cv2. CascadeClassifier('haarcascade_frontalface_default.xml') # वेबकैम से वीडियो स्ट्रीम कैप्चर करने के लिए। cap = cv2. VideoCapture(0) # कैप्चर की गई इमेज को पढ़ें, इसे ग्रे इमेज में बदलें और चेहरों को ढूंढें जबकि 1: ret, img = cap.read() cv2.resizeWindow('img', 500, 500) cv2.line(img, (500, 250), (0, 250), (0, 255, 0), 1) cv2.line(img, (250, 0), (250, 500), (0, 255, 0), 1) cv2.circle(img, (250, 250), 5, (255, 255, 255), -1) ग्रे = cv2.cvtColor(img, cv2. COLOR_BGR2GRAY) चेहरे = face_cascade.detectMultiScale(ग्रे, 1.3) # चेहरे का पता लगाएं और उसके चारों ओर एक आयत बनाएं। (x, y, w, h) चेहरों के लिए: cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 5) roi_gray = धूसर[y:y+h, x:x+w] roi_color = img[y:y+h, x:x+w] arr = {y:y+h, x:x+w} प्रिंट (गिरफ्तारी) प्रिंट ('X):' +str(x)) प्रिंट ('Y:'+str(y)) प्रिंट ('x+w:' +str(x+w)) प्रिंट ('y+h:' +str(y+h))) # roi का केंद्र (आयत) xx = int(x+(x+h))/2 yy = int(y+(y+w))/2 प्रिंट (xx) प्रिंट (yy) केंद्र = (xx, yy) # Arduino प्रिंट में डेटा भेजना ("आयत का केंद्र है:", केंद्र) डेटा = "X {0: d} Y {1: d} Z"। प्रारूप (xx, yy) प्रिंट ("आउटपुट = '" + डेटा + "'") arduino.write(data) #स्ट्रीम को प्रदर्शित करें। cv2.imshow('img', img) #Hit 'Esc' निष्पादन को समाप्त करने के लिए k = cv2.waitKey(30) और 0xff अगर k == 27: ब्रेक
एक बार यह हो जाने के बाद, arduino के लिए कोड लिखने के लिए आगे बढ़ें…
चरण 4: Arduino कोड:
पायथन लिपि तैयार होने के बाद हमें सर्वो को नियंत्रित करने के लिए आर्डिनो स्केच की आवश्यकता होती है। नीचे दिए गए कोड को देखें, इसे Arduino IDE में पेस्ट करें और इसे 'servo.ino' के रूप में उसी फ़ोल्डर में सेव करें जैसे कि face.py और haarcascade। कोड अपलोड करें और कनेक्शन बनाने के लिए अगले चरण पर जाएं।
(डाउनलोड करने योग्य फाइल नीचे दी गई है)
#शामिल
सर्वो सर्वोवर; // लंबवत सर्वो सर्वो सर्वोहोर; // क्षैतिज सर्वो int x; इंट वाई; इंट प्रीवएक्स; इंट पिछला; शून्य सेटअप () {Serial.begin (९६००); सर्वोवर.अटैच(5); // ५ सर्वोहोर.अटैच(६) को पिन करने के लिए वर्टिकल सर्वो संलग्न करें; // क्षैतिज सर्वो को पिन 6 सर्वोवर.राइट (90) में संलग्न करें; सर्वोहोर.राइट (90); } शून्य स्थिति () { अगर (पिछला! = एक्स || पिछला! = वाई) {इंट सर्वोएक्स = नक्शा (एक्स, ६००, ०, ७०, १७९); इंट सर्वोवाई = नक्शा (वाई, 450, 0, 179, 95); सर्वोएक्स = मिनट (सर्वोएक्स, १७९); सर्वोएक्स = अधिकतम (सर्वोएक्स, 70); सर्वोवाई = मिनट (सर्वो, १७९); सर्वोवाई = अधिकतम (सर्वो, 95); सर्वोहोर.राइट (सर्वोएक्स); सर्वोवर.राइट (सर्वोवाई); }} शून्य लूप () { अगर (सीरियल.उपलब्ध ()> 0) { अगर (सीरियल.रीड () == 'एक्स') { x = Serial.parseInt (); अगर (सीरियल.रीड () == 'वाई') { y = Serial.parseInt (); स्थिति (); } } जबकि (सीरियल.उपलब्ध ()> 0) {सीरियल.रीड (); } } }
चरण 5: पैन-टिल्ट मैकेनिज्म: -
मैंने पैन-टिल्ट के लिए आसानी से उपलब्ध किट का उपयोग किया है। आप चाहें तो लकड़ी/प्लास्टिक या यहां तक कि 3डी प्रिंट का इस्तेमाल कर खुद भी बना सकते हैं।
मैंने जो इस्तेमाल किया वह बहुत सस्ता है, और इकट्ठा करना बहुत आसान है। फिर भी यदि आप इसे कैसे करना चाहते हैं, इस पर निर्देश चाहते हैं, तो आप इसे यहां पा सकते हैं।
चरण 6: संबंध बनाना:
सर्किट काफी सरल है। आर्डिनो में बस दो सर्वो संलग्न करें।
- 5. पिन करने के लिए लंबवत
- पिन 6. के लिए क्षैतिज
- +5V. की शक्ति
- ग्राउंड टू जीएनडी
संदर्भ के लिए सर्किट आरेख की जाँच करें।
चरण 7: परीक्षण:
- सब कुछ हो जाने के बाद आखिरी काम यह करना है कि अगर यह काम करता है तो परीक्षण करें। पहले परीक्षण करने के लिए सुनिश्चित करें कि सर्वो ठीक से arduino से जुड़े हुए हैं और स्केच अपलोड किया गया है।
- स्केच अपलोड होने के बाद आईडीई को बंद करना सुनिश्चित करें ताकि पोर्ट अजगर से जुड़ने के लिए स्वतंत्र हो।
- अब Python IDLE के साथ 'face.py' खोलें और कोड चलाने के लिए 'F5' दबाएं। Arduino से कनेक्ट होने में कुछ सेकंड का समय लगेगा और फिर आपको वेब कैम को स्ट्रीम करने वाली एक विंडो देखने में सक्षम होना चाहिए। अब कोड आपके चेहरे का पता लगाएगा और सर्वो इसे ट्रैक करेगा।
- जैसे ही आप वस्तु को हिलाते हैं सर्वो को हिलना चाहिए। अब बस कैमरे को सर्वो से जोड़ दें ताकि यह सर्वो के साथ आगे बढ़े।
धन्यवाद।
सिफारिश की:
चेहरा पहचान और पहचान - ओपनसीवी पायथन और अरुडिनो का उपयोग करके Arduino फेस आईडी .: 6 कदम
चेहरा पहचान और पहचान | ओपनसीवी पायथन और अरुडिनो का उपयोग करते हुए Arduino फेस आईडी: चेहरे की पहचान AKA फेस आईडी आजकल मोबाइल फोन पर सबसे महत्वपूर्ण विशेषताओं में से एक है। तो, मेरा एक प्रश्न था "क्या मेरे पास अपने Arduino प्रोजेक्ट के लिए एक फेस आईडी हो सकता है" और इसका उत्तर हां है… मेरी यात्रा इस प्रकार शुरू हुई: चरण 1: हम तक पहुंच
फेस ट्रैकिंग डिवाइस! पायथन और अरुडिनो: 5 कदम
फेस ट्रैकिंग डिवाइस! पायथन और अरुडिनो: इस निर्देश को पढ़ने वाले सभी को नमस्कार। यह एक फेस ट्रैकिंग डिवाइस है जो ओपनसीवी नामक पायथन लाइब्रेरी पर काम करता है। CV का मतलब 'कंप्यूटर विजन' है। फिर मैंने अपने पीसी और अपने Arduino UNO के बीच एक सीरियल इंटरफ़ेस स्थापित किया। तो इसका मतलब यह
फेस ट्रैकिंग और स्माइल डिटेक्शन हैलोवीन रोबोट्स: 8 स्टेप्स (चित्रों के साथ)
फेस ट्रैकिंग और स्माइल डिटेक्टिंग हैलोवीन रोबोट्स: हैलोवीन आ रहा है! हमने कुछ अच्छा बनाने का फैसला किया। मिलिए घोस्टी और स्कली रोबोट से। वे आपके चेहरे का अनुसरण कर सकते हैं और वे जानते हैं कि आप अपने साथ हंसने के लिए कब मुस्कुरा रहे हैं! यह प्रोजेक्ट iRobbie ऐप का उपयोग करने का एक और उदाहरण है जो iPhone int
फेस ट्रैकिंग गन: 4 कदम
फेस ट्रैकिंग गन: यह प्रोजेक्ट यहां दिखाए गए लेजर ट्रिप वायर गन प्रोजेक्ट का विस्तार है - https://www.instructables.com/id/Building-a-Sentry-Gun-with-Laser-Trip-Wire-System-/ ?ALLSTEPS फर्क सिर्फ इतना है कि बंदूक को लेजर से नहीं चलाया जाएगा बल्कि
टेक्सास बिग फेस - ३डी फेस प्रोजेक्शन कैसे करें: १० कदम (चित्रों के साथ)
टेक्सास बिग फेस - ३डी फेस प्रोजेक्शन कैसे करें: "जीवित प्रतिमाएं" बनाएं मूर्तियों पर अपना चेहरा प्रक्षेपित करके।A How To By: डेविड सदरलैंड, किर्क मोरेनो ने ग्रैफिटी रिसर्च लैब ह्यूस्टन* के सहयोग से कई टिप्पणियों में कहा है कि कुछ ऑडियो समस्याएं हैं। यह है