विषयसूची:

रास्पबेरी पाई और ओपनसीवी का उपयोग करते हुए रीयल-टाइम रूबिक क्यूब ब्लाइंडफोल्डेड सॉल्वर: 4 चरण
रास्पबेरी पाई और ओपनसीवी का उपयोग करते हुए रीयल-टाइम रूबिक क्यूब ब्लाइंडफोल्डेड सॉल्वर: 4 चरण

वीडियो: रास्पबेरी पाई और ओपनसीवी का उपयोग करते हुए रीयल-टाइम रूबिक क्यूब ब्लाइंडफोल्डेड सॉल्वर: 4 चरण

वीडियो: रास्पबेरी पाई और ओपनसीवी का उपयोग करते हुए रीयल-टाइम रूबिक क्यूब ब्लाइंडफोल्डेड सॉल्वर: 4 चरण
वीडियो: OpenCV Programming with the Raspberry Pi: Tutorial 4 - Rotate an Image with C++ and Python 2024, नवंबर
Anonim

यह रूबिक के क्यूब टूल का दूसरा संस्करण है जिसे आंखों पर पट्टी बांधकर हल करने के लिए बनाया गया है। पहला संस्करण जावास्क्रिप्ट द्वारा विकसित किया गया था, आप प्रोजेक्ट रूबिक्सक्यूबब्लिंडफोल्डेड1 देख सकते हैं

पिछले के विपरीत, यह संस्करण रंगों का पता लगाने और इनपुट दर्ज करने के लिए ओपनसीवी लाइब्रेरी का उपयोग करता है, और बेहतर विज़ुअलाइज़ेशन तकनीक प्रदान करता है।

इस नवीनतम संस्करण में सबसे बड़ा मुद्दा आउटपुट का विज़ुअलाइज़ेशन है, अनुक्रम आइटम एक बार में तैयार किए गए क्यूब 1 पर प्रदर्शित होते हैं। चूंकि घन एक 3D आकार है, इसलिए सभी पक्षों को एक ही समय में प्रदर्शित करना मुश्किल है। मेरे YouTube चैनल YouTube वीडियो पर परिणाम देखें

मैं स्टिकर रहित क्यूब का उपयोग कर रहा हूं, इसके लिए एक कस्टम पहचान की आवश्यकता है और अधिकांश ओपन सोर्स कोड समर्थित नहीं हैं। मैंने किम कूमेन द्वारा विकसित इस ओपन सोर्स का उपयोग किया जो क्यूब फेस क्यूब प्रोजेक्ट के सही रंगों का पता लगाने के लिए कैमरा फ्रेम पर निश्चित क्षेत्रों को निर्दिष्ट करता है

चरण 1: आवश्यक घटक

  • रास्पबेरी पाई
  • वेबकैम

या आप अपने लैपटॉप का उपयोग कर सकते हैं

चरण 2: निर्भरता

  • अजगर 3
  • सुन्न पुस्तकालय
  • ओपनसीवी लाइब्रेरी

$ sudo apt-get install python3-opencv

रूबिक्स आंखों पर पट्टी वाला पैकेज

$ pip3 रुबिक्सब्लाइंडफोल्डेड स्थापित करें

चरण 3: तैयारी

आपको पूर्व चरण के रूप में रंग पहचान को कैलिब्रेट करने की आवश्यकता है। HSV रंग कोड प्रकाश, कैमरा गुणवत्ता और रिज़ॉल्यूशन और स्वयं घन रंगों के कारण भिन्न होते हैं। मेरे मामले में, मैं सही परिणाम प्राप्त करने के लिए सफेद और पीली रोशनी को मिलाता हूं।

colordetection.py पर get_color_name(hsv) फ़ंक्शन अपडेट करें

मूल स्रोत कोड क्यूब को हल करने के लिए कोसीम्बा पैकेज का उपयोग करता है, यह किसी भी हाथापाई के विपरीत चरणों को ढूंढकर हल करता है। इस संस्करण में, मैंने अपने स्वयं के समाधान पैकेज का उपयोग किया जिसका नाम RubiksBlindfolded था जो कि PyPI पर प्रकाशित हुआ था। इसका उपयोग कैसे करें, यह जानने के लिए विवरण देखें

चरण 4: उपयोग

प्रयोग
प्रयोग
प्रयोग
प्रयोग

सभी निर्भरताओं को स्थापित करने और अपना कैमरा सेट करने के बाद, यह आंखों पर पट्टी वाली स्क्रिप्ट चलाने का समय है

सबसे पहले, आपको अपने क्यूब को सही ओरिएंटेशन में स्कैन करना होगा। यह घन संरचना है, चेहरों को स्कैन करने का क्रम महत्वपूर्ण नहीं है। ध्यान दें कि ये क्यूब चेहरों के डिफ़ॉल्ट रंग हैं, आप इन्हें आंखों पर पट्टी वाली स्क्रिप्ट पर नोटेशन डिक्शनरी को अपडेट करके बदल सकते हैं।

स्कैन करने के लिए दृश्य को सहेजने के लिए स्पेस कुंजी दबाएं और समाप्त करने के बाद ESC कुंजी दबाएं

दूसरा, आप कंसोल पर समाधान अनुक्रम देख सकते हैं, और आपको यह बताने के लिए समता जांच कर सकते हैं कि आपको समता एल्गोरिदम लागू करने की आवश्यकता है या नहीं

तीसरा, एक नया फ्रेम तैयार किया जाएगा जो किनारे अनुक्रम और कोने अनुक्रम के लिए 2 खींचे गए क्यूब्स प्रदर्शित करता है। आप अनुक्रम आइटम के बीच स्विच करने के लिए बाएँ और दाएँ तीर कुंजियों का उपयोग कर सकते हैं, और किनारे और कोने के बीच स्विच करने के लिए ऊपर और नीचे तीर कुंजियों का उपयोग कर सकते हैं। हल्का भूरा रंग वर्तमान अनुक्रम का प्रतिनिधित्व करता है।

आप वर्तमान बफ़र के रंग देख सकते हैं जो तीर कुंजियों द्वारा गतिशील रूप से बदल रहे हैं। ग्रे रंग लक्ष्य क्यूब का प्रतिनिधित्व करते हैं, और गुलाबी रंग स्वैपिंग चेहरे का प्रतिनिधित्व करता है

सोर्स कोड

github.com/mn-banjar/blindfolded2

सिफारिश की: