I Built This Viral AI Project in 60 Lines (Full Breakdown)

In this tutorial, the presenter walks through creating a real‑time air‑drawing tool that lets a user draw on a virtual canvas using only the index finger captured by a webcam. The video explains the full development workflow: setting up the Python environment, importing essential libraries (os, cv2, mediapipe, numpy), configuring MediaPipe hand‑tracking to focus on the index finger, capturing video frames, converting color spaces between OpenCV (BGR) and MediaPipe (RGB), extracting fingertip coordinates, normalizing and scaling them to pixel positions, and drawing circles and connecting lines on a separate canvas that is overlaid onto the live video feed. The tutorial also covers user controls (press 'C' to clear the canvas, 'Q' to quit), handling cases where no hand is detected, and performance considerations such as frame flipping and loop timing. Throughout, the presenter emphasizes modular code structure, configuration options, and how to integrate the various components to achieve a smooth, responsive drawing experience.
Chapters
हेलो एवरीवन वेल्कम बैक टू माई यूट्यूब। चैनल आज के वीडियो में हम बात करेंगे कैसे हम एयर जॉइन टूल को क्रिएट कर सकते हैं। वित द हेल्प ऑफ व्यू लाइब्रेरीज ऑफ पाइथो ो चलिए इस क्रीन पर चलते हैं। पहले देखते हैं कि यह जनरेट कैसे करना है तो सिंपल से आउटपुट हम जनरेट करने वाले हैं। मैंने ऑलरेडी इनवारमेंट क्रिएट कर लिया है और कॉपी पात करके अगर मैं पॉवरशेल में इस प्रोजेक्ट को रंग करुंगी तो ये प्रोजेक्ट कम्प्लीटली हमारा एयर ड्राइंग प्रोजेक्ट की तरह वर्क करेगा। विच मींस की मैं अपने इंडेक्स फिंगर से कुछ भी ऑन स्क्रीन डिजाइन कर सकती हूं कुछ भी आन स्क्रीन ड्रा कर सकती हूं। इस प्रोजेक्ट को सीखने के बाद आप काफी सारे जस्टर कंट्रोल एप्लीकेशंस क्रिएट कर सकते हैं। दिस इस हाउटिस वर्क जहाँ पर 1 कैमरा है और मैं अपनी फिंगर से स्पेसिफिकली इंडेक्स फिंगर से मैं कुछ भी ड्रा कर सकती हूं। और जब बात आती है ड्राइंग करने की तो ये बेसिक लिए डॉट्स को कनेक्ट कर रहा है। तो इस प्रोजेक्ट के वर्क फ्लो पर चलते हैं। इसको क्विट करने के लिए हमें क्यू दबाना है अगर क्लियर करना है तो सी दबाना, अगर मैंने सी दबाया तो ये क्लियर हो गया। अगर मैं क्यू दबाऊंगी तो ये विंडो जो है ये डॉमिनेट हो जाएगी। मतलब जो 1 फ्रेम क्रिएट हुआ है एक्सटर्नल पॉवरशेल के बाद वो डॉमिनेट हो जाएगा। अब हम बात करते हैं इसको क्रिएट करने की तो चलिए चलते हैं व्हाइट बोर्ड पर सबसे पहले क्या हो रहा है इसमें 1 वैब कैम शुरू होना चाहिए उसके बाद ये फ्रेम कैप्चर करेगा हैण्ड्स को डिटेक्ट करेगा दैन ट्रैक करेगा की इंडेक्स फिंगर कौन सी है और इंडेक्स फिंगर को ट्रैक करने के बाद ये प्रोसीट करेगा देन ड्रा करेगा लाइंस यूजिंग द मूवमेंट ऑफ द फिंगर एंड देन वो ड्राइंग ओवरले होनी चाहिए कैमरा के ऊपर और यही चीज रिपीट होगी। इस चीज को रिपीट होने का मतलब है यही पूरा साइकिल रिपीट होना चाहिए। ऐसा नहीं होना चाहिए की यह एप्लीकेशन बीच में ही डॉमिनेट हो जाए। अब इसको क्रियेट करने के लिए क्या क्या चीजें लगेंगी कौन लाइब्रेरी है जो हमें यूज करनी है। सबसे पहले लाइब्रेरी हमारी ओ एस की लाइब्रेरी है वाय आर वी यूजिंग ओएस लाइब्रेरी द रीजन बीन की। ओएस लाइब्रेरी से हमारा जो है हम फाइल पाथ के साथ इजीली वर्क कर सकते हैं। मतलब पाइथन में अगर हमें किसी भी फाइल सिस्टम ऑपरेटिंग सिस्टम के साथ काम करना है तो हमें ओ एस लाइब्रेरी को यूज करना होता है। फॉर फाइल पाथ देन द नेक्ट थिंग दैट वी आर यूजिंग इस सी वी टू लाइब्रेरी, सी वी टू लाइब्रेरी का यूज करें। सी वी टू लाइब्रेरी ही है जो हमारी हेल्प करेगी कैप्चर करने में, प्रोसेस करने में और डिस्प्ले करने में थर्ड है। हमारा मीडिया पाइप मीडिया पाइप के क्या होता है। मीडिया पाइप बेसिकली 1 मॉडल है जिसके अन्दर ट्रैकिंग वर्क करती है। हैड ट्रैकर्स क्रिएट होते हैं, हैंड ट्रैकर, मार्कर्स क्रिएट होते हैं सब कुछ। इसी लाइबरेरी से वर्क करने वाला है स्पेसफिक इसके बाद थर्ड फोर्थ जो हमारा वो है हमारा नाम पायका कैनवस फोर्थ जो हमारा है न पाय का कैनवस, नम पायका कैनवस का मतलब क्या है की 1 ऐसा इनवालमेंट क्रिएट होना चाहिए जहाँ पर ड्वाइन क्रिएट होगी और उसी को हम बार बार यूज कर सकेंगे। ये कुछ लाइब्रेरी है जो स्पेसिफिकली हम यूज करने वाले है। नेक्स्ट जो हमारी चीज। आपको पता होनी चाहिए की इन चारों लाइबरेरी को कैसे इंटीग्रेट कर। क्या क्या पाइथन का कोड लिखना तो यह पाइथन के कोर्ड की लोगों को ऑलरेडी मिल गयी होगी। तो चलिए इस कोड को समझ लेते है। एप्लीकेशन समझ में आनी चाहिए की हम एग्जैक्ट ली क्रिएट क्या करना चाहते हैं। यहाँ पर 1 ट्रक होने चाहिए हिएकैनहोनाचाहिए होनी चाहिए फिंगर प्वाइंट, प्रीवियस लोकेशन को पता होनी चाहिए और वो उसको कनेक्ट कर पाए और स्मूटड्ाइनलगनी चाहिए के हम स्टार्ट करेंगे। सबसे पहले हम अपनी लाइब्रेरी को इम्पोर्ट करने से लाइब्रेरी इम्पोर्ट करने का मतलब। सबसे पहले ओ एस की लाइब्रे फाइल पाथ के लिए जो इम्परटेंट है मीडिया फाइल्स के लिए देन वी हैव सी बी टू लाइब्ररी जो मैंने आपको आलरेडी बता दिया। प्रोसेसिंग और विंडो डिस्प्ले करने के लिए नेस्ट हमारा क्या है मीडिया पाइप। मीडिया पाइप 1 मॉडल है। मीडिया पाइप गूगल लाइब्रेरी है बेसिकली जो रियल टाइम परसेप्शन लेती है मतलब हैं ट्रैकिंग के लिए ज्यादातर यूज हो रही है। तो ये मीडिया पाइप का ही यूज करके कला, पी, टी ये सब कुछ आपको बना कर देते है। तो वही सेम चीज हम पढ़ रहे हैं नंपानंपाइककीमदद से हम कैनवस मैनेज करेंगे। ड्राइंग के कैनवस को नापा में म रि क्रिएट करके क्यूँकी एरे के क्रिएशन और इंटरनल कंप्यूटर के लिए बहुत इजी होता है समझने के लिए। इसलिए हम नंबर लाइबरेरी को यूज करे। हालांकि पायथन के पास हालांकि पाइथन के पास और बहुत सारी लाइबरेरी होती है जिनको यूज करा जा सकता है। मोर एफिशिएंट। तो इसलिए ना करे उसके बाद हम क्या करे कुछ टास्क को इम्पोर्ट करें। कौन कौन सी कर सबसे पहला टास्क हमारा विजन टास्क विजन टास्क क्या करेगा। विजन टास्क हमारा कंप्यूटर विजन रिलेटेड के साथ काम करने के लिए वर्क करेगा। मतलब की कंप्यूटर के कैमरा के ऊपर वर्क करने के लिए हमारी मदद करेगा। नेक्ट हमारा बेस ऑप्शन बेस ऑप्शन क्या है। बेस ऑप्शन हमारी मदद करता है कि मॉडल रिलेटेड जितनी भी मतलब मॉडल मैंने आपको बताया मीडिया पाइप 1 मॉडल है। कंप्यूटर के गूगल के अंदर आता है और ये ही मॉडल रिलेटेड अगर आपको सेटिंग चेंज करनी है। ने 10 बेस ऑप्शन बेस ऑप्शन के बाद हमारा क्या है उसी विजन में से हमें कुछ और चीजें इम्पोर्ट करनी है। क्लास हम कभी पोर्ट करेंगे? तो ऐसा नहीं है कि हमारा सिस्टम वर्क नहीं करेगा वो कंपेटिबल हो भी सकता है। हमें जिस चीज की जरुरत नहीं है उस चीज को हम प्रेम लेके आने की भी जरूरत नहीं है। इसलिए हम क्या करेंगे हैण्ड मार्कर्स और हैंड मारकर ऑप्शन्स को इम्पोर्ट करेंगे। ये बेसिकली क्लासेज है। सबसे पहला ऑप्शन की अगर बात करूँ तो और ऑप्शन जो ोता है वो कंफ्यूगरेशनकेलिए यूज होता है मतलब आप इसकी सेटिंग्स को कंफिगर कर सकते हैं। हैंड डिटेक्टर को सिर्फ और सिर्फ इंडेक्स फिंगर को ही यूज करना है इसलिए हम इसको यूज कर रहे हैं। उसके बाद 1 मेन क्लास जो है जो हैंड लैंड मार्कर्स क्रिएट करती है हमारे लिए वो है हमारी हैंड लैंड मारकर ये क्लास है उसके बाद ये जो हमारा ऑप्शन वाला जो है हमारा केशन चारों चीज इम्पोर्ट करने के बाद हमने लिखा है मॉडल अब आपको करना क्या है आप सिम्पली गूगल पर जायेंगे गूगल पे सर्च करके लिंक मैंने नोशनपेजमेंडाला हु उसी लिंक पर क्लिक करके आपको 1 हैंड लाइन मार कर करके टास्क की फाइल डाउनलोड करने अब इसको डाउनलोड करके क्या करना है जिस फोल्डर में आप इस प्रोजेक्ट को क्रिएट करे उसी फोल्डर में जाकर इसको प्लेस करना है फॉर एग्जामपल शो यू ओवर है आई हैव आल्सो आडिट द सेम फाइल, विच इज सो हैंड लाइन माकर हैण्ड लाइंडमाकरडटासक करके जो फाइल आप डाउनलोड करेंगे वो सेम कोल्ड में प्लेस करना ताकि वो ईजीलीफैचहोसके सेम कमांड जो हम लिख रहे। स्क्रीन के मॉडल पात मे ने पात ज्वाइन करके 1 डायरेटरी का नाम देकर ज्वाइन कर और लिखा है की है्डमाकटास्फाइल। हैंड माकर टास्क फाइल को लोड करने के बाद मतलब फोल्डर और फुल पात बिल्ड किया है हमने सेफली ताकि हर 1 सिस्टम पर वोट कर। सके दिन हमने क्या किया है हमने ऑप्शन 1 वैरिएबल क्रिएट किया है यहाँ पर हम क्या कर हे यहाँ पर हम कंफिगरेशन कर रहे है। मैंने आपको बताया था और ऑप्शन करके जो लाइब्रेरी और जो क्लास हम इम्पोर्ट कर रहे हैं वो बेसिकली कॉन्फिगरेशन के लिए है और वही चीज हम इसमें ऑप्शन वैरिएबल में क्रिएट कर है ऑप्शन वैरिएबल में हमने हैण्ड लैण्डमाक ऑप्शन को इनिशिएट किया है इसके बाद हमने इसमें बेस ऑप्शन पर वर्क किया है। मतलब हमने जो मॉडल लोड किया है मॉडल पार्थ में स्कूल है उसके बाद हमने इसमें क्या सेट किया है हमने सेट किया है की 10 ऑब्जेक्ट नली प्रोसेस, इमेजेज रिटर्न, लैडमाकफस्थिंग, सेकंड, वी, आर बेसिकली वर्किंग ऑन डिटेक्टिंग ओनली ऑन हैंड। दोनो हैंड के बीच में कोई मिशन क्रिएट नहीं कर रही हूँ मैं 1 ही हाथ पर वर्क कर रही हूँ। जब मैं 1 ही हाथ पर वर्क करे तो वही मैंने यहाँ पर नंबर ऑफ़ हैंड ऑन सेट कर के मैंने इसको कम्पलीट किया अब ये क्या होगा ये फास्टर वर्क करेगा क्यूंकि मैंने इसकी कंफीग्रेशन सेट कर दी। 1 ही हैंड के लिए जब हम इसे बहुत ज्यादा यूनिवर्सल उसमे रखते है तो ये दोनो हैंड पैच करने की कोशिश करता है जिसकी वजह से वो थोड़ा स्लो हो सकता है। इसलिए आपको थोड़ी कंफिग्रेशन इसमें डालनी पड़ती है। नेक् स क्या डिटेक्टर के 1 ऑब्जेक्ट क्रिएट करेंगे, डिटेक्टर क्या है ऑब्जेक्ट क्रिएट होगा डिटेक्टर क्लास मतलब हैण्ड लैंड माकर जो क्लास उसी का ऑब्जेक्ट क्रिएट होगा ऑब्जेक्ट और इंटर प्रोग्राम सेम थिंग आम। यहाँ पर ऑप्शन सेम कॉन्फिग्रेशन के साथ 1 डिटेक्टर ऑब्जेक्ट क्रिएट कर रहे हैं। जब हमने 1 डिटेक्टर ऑब्जेक्ट क्रिएट कर लिया है। यहाँ पर क्या हो रहा है यहाँ बस हम 1 मॉडल का इनिशिलाइजेशन कर रहे है। यहाँ पर हम सिर्फ और सिर्फ क्लास का इनिशिलाइजेशन कर रहे हैं दिन हमने उस ऑब्जेक्ट से ये बोला है की आपको प्रोसेस करना और लाइन माक हमें रिटर्न में देना है। ये फंक्शन कुछ ज्यादा नहीं करेगा बस 2 चीज करेगा प्रोसेस कर लानमाकमेलकरदेनेक्ट हमने क्या किया हमने विडियो कैप्चर शुरू किया हमने सी वी टू लाइबरेरी ऐसी वीडियो कैप्चर शुरू किया। मतलब ये क्या करेगा वेबकैम को ऑन करेगा और डिफॉल्ट जो भी कैमरा होगा डिफॉल्ट आपकी सेटिंग्स में से जो भी कैमरा होगा वो इसको पिक करे जो भी डिफॉल्ट कैमरा होगा इंटरेटेड कैमरा है एक्टर है जो भी है वो उसको फेच कर लेगा। इसलिए मैंने इसको जीरो सेट किया है। देन कम स्कैन्स इस इक्वल टू कैनवस को हम क्रिएट कर रहे है ताकि हम ड्राइंग को स्टोर कर सके और ड्राइंग को स्टोर करना है सेपरेट लेयर में इसीलिए मैं सेपरेटली क्रिएट कर रही हूँ। अभी मैं इसको 7 कर ्यूँीमेलेट इसको और ज्यादा फिकर करूंगी। मैं बताउंगी की कहाँ पर कितना क्या सही सब कुछ बट अभी के लिए न रहेगा। उसके बाद मैंने प्रवेश लोकेशन लिए प्रवेश लोकेशन 2 चीजों की एक्स और वाई मतलब। अगर मैंने फिर यहाँ प्लेस करिए तो इसका एक्स और वाई क्या हो सकता है। वही चीज फिंगर की प्रेस पोजीशन क्यूँकी इसी की मदद से हमें कांटिनेंसलाइन ड्रा कर सकते है। तो यह बहुत जरूरी है नेक् है हमारा वाल ट्रू मैंने आपको बताया था पूरा का पूरा एक्शन किस मे होना चाहिए रिपीट में होना चाहिए। अब जब कोई चीज रिपीट में हो रही है तो हमें क्या चाहिए रिपीट लिए वाइल ट्रू यूज करेंगे, वाल ट्रू मतलब है कौंटिनरसीीज फ्रेम बाय फ्रेम रन करेगा और रियल टाइम प्रोसेसिंग लुक हमारे लिए क्रिएट कर देगा नेक्ट हमने किस चीज़ से शुरू किया। हमने शुरू किया है रे और फ्रेम से रेट और फ्रेम क्या है हम पहले रेट मतलब रिजल्ट के ऊपर रिटर्न क्या हमे मिला है की क्या कैमरा कैप्चर हो पाया है या नहीं हो पाया है। ट्रू और दूसरा फ्रेम एक्चुवल इमेज वेबकैम सी मिली हे या नहीं मिली है। तो हमने ये दोनो चीज कैमरा से रीड करी। सी टू ने विडियो कैमरा शुरू किया तो वहाँ पर हमें 2 चीज रिटर्न में मिलती है। सबसे पहला कैमरा कैप्चर हुआ या नहीं। क्या में वेबकैम की 2 चीजें हमें रिटर्न में मिलेगी। दोनों चीजों को हम सैपरेट कर रहे हैं। 2 डिफ्रेंट वेरिएबल कैप जो वैरिएबल हमने ऊपर क्रिएट किया है ये वाला कैप वैरिएबल जो मने यहाँ पर क्रिएट किया है वीडियो कैप्चर जीरो ऐसी मतलब कैप स्टार्ट होगा और वहाँ पर हम चेक कर रहे है की क्या हमारे पास वीडियो फ्रेम कैप्चर हुआ भी है या नहीं हुआ है। दूसरा की एक्चुवल इमेज जो हमें वेब कैमस तो दोनो चीज को हमने यहाँ पर दिया है। मतलब कैप फंक्शन हमें 2 रिजल्ट देगा दोनों के लिए हमने अलग अलग वेरिएबल क्रिएट किया है और अब हमने क्या करना है हमने दोनों अलग अलग क्यूँ किया क्यूँकि मैं चाहती हूँ की जो फ्रेम है वो एक्चुवल फ्रेम की तरह दिखे मतलब की मैं अगर कैमरे ऐसी ऐसी बात करूँ तो मेरी फिंगर राइट साइड पर मेरा रिफलेक्शन से होना चाहिए मेरा रिफ्लेक्शन के लिए क्या करेंगे इमेज को हरिजॉनटलीपलेसकजिसके लिए हम नेक्ट लाइन ऑफ़ कोड लिखे उसके बाद हमने क्या लिखा है यहाँ पर सी बी टू, सी बी टू फ्लिप का मतलब क्या है हम उसको फ्लिप कर रहे है, फ्रेम का मिरर कर रहे है ताकि वो नैचुरल लगे थोड़ा सा भी इधर उधर न लगे। मेरा रिफ्लेक्शन होनी चाहिए उसी चीज के लिए हमने फ्लिप फंक्शन को यूज किया और फ्लिप कैनवस को जो हमने कैनवस वाले डिक्लेयर किया था अब हम क्या कर हे हैं यहाँ पर 1 ब्लैंक इमेज क्रिएट कर रहे हैं मतलब की टोटल ब्लैक कैमरा के ऊपर कुछ नहीं होना चाहिए बैंक इमेज किस किस साइज की होनी चाहिए वो सेम साइज की होनी चाहिए, कौन सी सेम साइज की होनी चाहिए वेबकैम के सेम साइज की होनी चाहिए। तो हमें इमेज क्रिएट कर रहे हैं सेम साइज ऑफ़ वेब कैम देर हम क्या कर रहे हैं एन पी जीरो जीरो लाइक फंक्शन है नपा में जो हेल्प करेगा हमारी 1 ब्लैंक इमेज क्रिएट करने में और ये 1 ब्लैंक इमेज यहाँ पर ड्राइंग होगी। एक्ल वो फ्रेम हम क्रिएट कर हे है मतलब उतना ही बड़ा होना चाहिए जितना बड़ा हमारे कैमरे का पिक्चर और नेक्ट हमारा क्या है की जब हम बात करे है आर जी बी और अब हम क्या करना है हमें 2 चीजों पर वर्क करना है। जब हम कलर्स के बारे में बात करते हैं तो हम यहाँ पर 2 लाइबेरी यूस करे जो दोनो लाइब्रेरी 1 दुसरे के अपोजिट वर्क करती है मतलब की ओपन सी वी जो कंप्यूटर विजन की है वो किसमें आउटपुट जनरेट करती है वो जनरेट करती है। बी जी में मीडिया पाइप जो गूगल की है और वो यूज करती है आर जी बी तो इनका कलर कन्वर्जन हमें करना पड़ेगा जिसके लिए हम क्या कर रहे है कनवर्टर यूज करे है आर जी बी पहले तो ठीक है आर जी बी में इसको कनवर्ट करने के लिए सी वी टी कलर फंक्शन जो हमारी कंप्यूटर उसको यूज करके हम इसको कनवर्ट कर रहे है किस में हम इसको कनवर्ट कर रहे हैं बी जी आर सी आर जी उसके बाद हम इसको मीडिया पाइप इमेज में कनवर्ट करे मीडिया पाइप इमेज में जब हम इसे कनवर्ट करे तो उसके लिए हमें कंफिगरेशन चाहिए चाहिए अदरवाइज मीडिया पाइप इमेज में आपको एरर आएगा ये चीज रखना उसके बाद मीडिया पाइप के बाद हमने क्या किया हमने यहाँ पर स्पेसिफिकेशन दी है की हम इस इमेज को जो हमने आर जी बी इमेज है इसको रैप कर रहे है मीडिया पाइप के फॉर्मेट में क्यूँ कर रहे हैं ऐसा क्यूँ की जो डिटेक्टर इनपुट हमें मिलेगा वो इसी पर काम करेगा मीडिया पाइप के बिना आपको वो जो डिटेक्टर इनपुट है जो की मूवमेंट करेंगे वो इनपुट नहीं जा पाएगा अगर ये इसमें नहीं होगा। सिम्पल अब हमने क्या करना है। जैसे ही हमारे पास मीडिया पाइप की इमेज आ गई है हम क्या करेंगे। अपने मॉडल को रन करेंगे करेंट फ्रेम लेने के लिए हम करंट फ्रेम पर बेसिकली मॉडल को रन करेंगे। उसके बाद 2 चीजें लेके आयेंगे की हैंड लाइंड माक्स हमारे पास आ जानी चाहिए। क्यूंकि हमने जो ऑब्जेक्ट क्रिएट किया था, जो क्लास यूज करी थी, हैंड मार्कर्स उसमे हमारे पास क्या मिल रहा था। हमारे पास मिलना था। मॉडल के पास हैंड लाइन माक्स। वही चीज हम यहाँ पर जनरेट करेंगे। अब हम यहाँ पर क्या लिख रहे हैं। सिम्पल सी फंक्शन में की रिजल्ट, इस, इक्वल, टू, डिटेक्टर, डिटेक्ट, एम, पी इमेज। इसके ऊपर मतलब करंट। फ्रेम के ऊपर मॉडल को रन कर दिया। हमारे पास लैंड माक्स आ जानी चाहिए। अगर कोई हैंड मूमेंट नहीं है तो वो ब्लैक रहना चाहिए। मतलब रिजल्ट होना चाहिए। सिम्पल बैठी हूँ मैंने अपने हैंड मूमेंट नहीं कर रहे हैं तो वहाँ पर कोई भी मूवमेंट नहीं होनी चाहिए। रिजल्ट जीरो होना चाहिए। उसके बाद मैं क्या चेक कर रही हूँ। अब मैं चेक कर रही हूँ। ठीक है। फ्रेम आ गया। मॉडल वर्क कर रहा है। अब मैं क्या चैक कर रही हूँ की हैण्ड है या नहीं। अब मुझे डिटेक्ट करना है, हैंड ठीक है। अब इसको डिटेक्ट करने के लिए हम क्या करेंगे। हम यूज कर रहे हैं। नेल्स फंक्शन कंडीशनल स्टेटमेंट। अब हम चेक करें हैंड। इस डिटेक्टेड सिम्पल लिखा मैंने रिजल्ट है। लैंड मॉक मतलब हैंड। डिटेक्ट हुआ है या नहीं? हुआ है हुआ है। अगर ये है, ये ट्रू है तो ये पूरा का पूरा अंदर वाला पार्ट मतलब फॉर लूप वाला पार्ट रन करेगा। अगर हैंड मोमेंट नहीं है। अगर वहाँ पर हैंड नहीं है तो क्या होगा? सीधा एल्स पार्ट में चला जायेगा। प्रीवियस एक्स वाई की पोजीशन जीरो ही रहेगी। अगर हैंड डिटेक्ट हो चूका है तो हम 1 लूप लिख रहे हैं। लूप के अंदर क्या लिखा है, हैंड हैंडलांडमाक्स एच डब्लू मतलब हमने क्या लिखा है। 1 हैंड में 1 हैंड में ट्वेंटी वन हैंड लाइन माक्स हैंड ट्वेंटी वन हैंड, लाइन माक्स होता है। और हमने 3 बार एच डब्लू अंडरस्कोर एच फरहाट वे अंडर स्कोर फॉर कॉलर चैनल, उसका कलर चैनल क्या है। 3 वेरिएबल हो गए। इन्ही 3 वैरिएबल को यूज करके हमने फ्रेम शेप क्रिएट किया। मतलब फ्रेम शेप जो फंक्शन है वो 3 चीजें रिटर्न कर के दिखा। हाइट वेट कलर चैनल। और उन दिनों हमने वैरिएबल स्टोर कर लिया। देन हमने क्या एक्स्ट्रैक किया है न, हमने एक्स्ट्रैक किया है इंडेक्स फिंगर टिप, इंडेक्स फिंगर टिप, न की ये न, ये न कोई और पार्ट बॉडी का नहीं बस फिंगर के टिप। इसको डिटेक्ट करने के लिए अब हमने लैंड मार्क ए मतलब लैमार्क एट का मतलब होता है इंडेक्स फिंगर टिप। ये लैंड मार्क ए है गूगल की। अगर आप इस डायरेक्ट्री को पढेंगे जो लैंड हैंडलांडमाकरकी है टास्क की तो उसके अंदर स्पेसिफिकेशन आलरेडी मेंशन है। किसी और वीडियो में। इसको डिटेल में बात करेंगे। कमेंट दिस वीडियो, विल, क्रिएट, डिटेल्ड वीडियो, ऑन हैंड, लाइन, दूसरा, जस्टर कंट्रोल वीडियो सुना जिससे आप जस्ट कंट्रोल एप्लिकेशन क्रिएट कर सकते। अब कोर्डिनेट करेंगे हम जीरो और इसके ममटिकलकियाहैहैडलाइ मारक को हमें देखना है। एक्स पे एट को हमें देखना है वाई प्रो और दोनों को वेट हाइट से मल्टीप्लाई करे ताकि हमारे पास करंट वैल्यू मिल जाए। अभी करंट वैल्यू किसमे होनी चाहिए। ये करंट वैल्यू पिक्सल पोजिशन में होनी चाहिए। इसलिए हम एक्स और वाई का रेफरेंस यूज़ कर रहे है। हमने इसको नोमलाइजकिया है इसलिए हमने इसको मल्टीप्लाई किया। मतलब 1 मल्टीप्लाय बाय मतलब। मतलब इन दोनों को मल्टीप्लाई करके हमने पोजीशन को पिक्सल में कनवर्ट कर लिया है। अब ये पिक्सल में कनवर्ट होने के बाद हम फ सिंगर मार्कर ड्रा कर रहे है। फिंगर पे मारकर ड्रा कर रहे है। ताकि हमें पता चले की ये जो फिंगर मूवमेंट में कर रही हूँ ये फिंगर के टिप पर ही हो। मतलब वो जो सर्कल है वो टिप पर आना चाहिए। उसके लिए हमें सी वी टू सर्कल फंक्शन को यूज करके फ्रेम पर 1 सर्वा सेम पोजीशन। जो ऊपर अपडेट हुई है वही पर हमने मतलब ला हैडलाइन। पे हमने आर, जी बी कलर्स, जीरो टू फिफ्टी फाइव और जीरो पर हमने 1 सर्कल बना। अब 1 सर्कल कैसा होना चाहिए उसमें कलर फील्ड होना चाहिए वो 1 ब्लैक सर्कल नहीं होना चाहिए। कलर फील्ड होना चाहिए। इसलिए मैंने माइनस वन दिया है। माइनस मतलब 1 फीड सर्कल क्रिएट होगा रेडियस उसका क्या होगा, रेडियस होगा। ठीक है। एक्स और वाई की जो वैल्यू होगी। अब ये ग्रीन कलर का होगा। क्यू होगा? क्यूँकि मैंने यहाँ पर मेंशन किया है जीरो टू फिफ्टी। आप यहाँ पर कुछ भी मेंशन सकते हो। जो भी कलर आप इनिशिएट करना चाहते हो आप उसे इसको इनिशिएट करा सकते हो। मैंने यहाँ पर ग्रीन डॉट लिया है। ठीक है इसी ग्रीन डॉट के बाद हम क्या कर रहे हैं। ग्रीन डॉट के बाद हम प्रवेस है एक्स और वाई की। हम प्रीवसवालीइनिशलाइज फ्रेम में कोई भी प्रीवियस प्वाइंट नहीं होगा। ऑव्यस सी बात है। अगर यह फ्रेम अभी अभी शुरू हुआ है तो फिर की मूवमेंट नहीं थी। पहले उस चीज को हमने जीरो जीरो रखा और इसको इनिशलाइज किया है। हमने 1 लाइन ड्रा करवाई। लाइन ड्रा किस किस किस के बीच में हुई है। लाइन ड्रा 2 चीजों के बीच में हुई है। प्रीवियस प्वाइंट और करंट पाइंट। प्रीवियस प्वाइंट के 2 बारिएबलसऑलरेडी क्रिएटेड थे और करंट वैरिएबल के ये थे और कैनवस जो रहेगा वो मैंने क्रिएट किया था कैनवस पर प्रीवियस प्वाइंट, करंट प्वाइंट के बीच 1 लाइन ड्रा होनी चाहिए। लाइन का कलर क्या होना चाहिए? लाइन का कलर होना चाहिए? टू फाइव, जीरो टू इसका मतलब क्या है? यह कौन सा कलर होगा। परपल कलर आप इसमें कोई भी डाल सकते हो, कोई भी वैल्यू फिटनेस होगी, सब कुछ मैंने इस लाइन में मेंशन कर दिया। उसके बाद प्रीवियस पोजीशन को करंट पोजीशन से अपडेट कर। प्रीवियस पोजीशन हो जाएगी। अपनी फिंगर को अब अपडेट करनी है। अब मै करंट पोजीशन को नेट फ्रेम के लिए सेव कर रहे हैं ने अगर मान लो कोई है नहीं हुआ है तो मतलब कोई ड्रोन नहीं होगी रैंडम लाइन नहीं आनी चाहिए अगर रैंडम लाइन आ रही है मतलब एल्स पार्ट उसमे नहीं लिखा है तो ये एल्स पार्ट जरूरी है। उसके बाद मेरे पास 2 फ्रेम हो गए पहले वाला फ्रेम जिसमें कोई मूवमेंट नहीं था। 1 ऐसा फ्रेम जिसमे मेरे पास आ चुके थे। इन दोनों को कनेक्ट करके मुझे 1 नया फ्रेम बनाना है जिसके अन्दर मेरे पास लाइन होनी चाहिए इसके लिए मैं क्या करूँगी प्रीवियस फ्रेम और करंट फ्रेम दोनो को मर्ज कर दूंगी तो मैंने क्या किया है मर्ज किया कैन हेल्प ऑफ़ फंक्शन फंक्शन से दोनों को मर्ज कर दिया है। य जब हमने इसको मार्च कर दिया तो हमने सिम्पल सी चीज क्या करी सिम्पल सी चीज हमने फंक्शन को यूज करके मर्ज कर दिया उसके बाद हमने 1 विंडो क्रिएट करे सी वी टू सी के बाद ड्रा नाम देकर हमने इसको अब हमने इसमें 2 चीजे करी मैंने में शो किया था की आप ने क्या करना है आपने 2 चीजें करनी है सी दबाकर आप उसको क्लियर कर सके क्यूँ दबा कर आप उसको क्विट कर सके वो विंडो डॉमिनेट हो जानी चाहिए और यही 2 चीज हमने यहाँ पर लिखा। अब वेट की मतलब आप वेट कर रहे है की क्या कोई इनपुट आया की बोर्ड फाइन अदरवाइज प्रोसिडर है। मर्ज करने के बाद हमने सिम्पली आउटपुट शो किया आउटपुट शो करने के बाद प्रेसिंग हैंडल दे रहे है मतलब हमने वेट करना है वन मिली सेकेंड का फॉर द की न मिली सेकेंड क्यूँकि ऐसा कोई जनरलाइज मैं चाहती हूँ की 5 में चले, 6 में चले मैंने इसको ऑलरेडी वाइल लोक में लिखा है तो चले फिर मैं वेट करूंगी उसके बाद जैसे ही प्रेस होगा क्लियर कर देगा ड्राइंग को क्यूँकी मैंने यहाँ पर लिखा है मतलब इनिशियल फ्रेम पर चले जाओ। मतलब पहले वाला जो फ्रेम हमने स्टोर किया इसलिए हम सको स्टोर भी कर रहे है ताकि लेट अगर हम से क्लियर करना हो तो हमारे पास वो वैल्यू होनी चाहिए की इनिशियली फ्रेम हमारा कैसा दिख रहा उसको हमने वापस से रिसर्च कर दिया कि हम इस पूरे लुक को ब्रेक कर देंगे। न रिलीज द ऑल विंडोज दैट हम डिस्ट्रॉय ऑल विंडोज प्रोग्राम को क्विट करने के बाद 2 चीजें लिख है वेबकैम स्टॉप हो जाना चाहिए या फिर ये भी कह रहे है की जितने भी विंडोज हमने क्रिएट करे है वो सारी की सारी क्लोज हो जानी चाहिए। तो ये सिक्स फ्लो फॉर्म कर रहा है। सबसे पहला कैंप शार्ट होगा दूसरा मीडिया का होगी फिर हैं टेक होगा इंडेक्स फिंगर ट्रैक होगी ट्रोने। drying hogy within the moment and then over leogawesamedroing on screen and which is repeat i hope, you have understood each every line of the cord, eaten, every function, and if you want any specific modal, explanation or anything to you are finding difficult to let me now in the comments and stadium happy learning and get g।










