मैं एक पशु चिकित्सा क्लिनिक को कुत्तों के पंजे के नीचे दबाव मापने में मदद कर रहा हूं। मैं अपने डेटा विश्लेषण के लिए पायथन का उपयोग करता हूं और अब मैं पंजे को शारीरिक (शारीरिक) उपग्रहों में विभाजित करने की कोशिश कर रहा हूं।
मैंने प्रत्येक पंजे का 2 डी सरणी बनाया, जिसमें समय के साथ पंजा द्वारा लोड किए गए प्रत्येक सेंसर के लिए अधिकतम मान होते हैं। यहाँ एक पंजा, जहां मैं एक्सेल इस्तेमाल किया क्षेत्रों मैं 'का पता लगाने के' करना चाहते हैं आकर्षित करने के लिए का एक उदाहरण है। ये स्थानीय मैक्सिमा के साथ संवेदक के चारों ओर 2 बाय 2 बॉक्स हैं, जो एक साथ सबसे बड़ा योग है।
इसलिए मैंने कुछ प्रयोग करने की कोशिश की और प्रत्येक स्तंभ और पंक्ति के अधिकतम आकार को देखने का निर्णय लिया (पंजा के आकार के कारण एक दिशा में नहीं देखा जा सकता)। यह अलग-अलग पैर की उंगलियों के स्थान का 'पता लगाने' के लिए काफी अच्छा लगता है, लेकिन यह पड़ोसी सेंसर को भी चिह्नित करता है।
तो पायथन को यह बताने का सबसे अच्छा तरीका क्या होगा कि मैं इनमें से कौन से अधिकतम शब्द हैं?
नोट: 2x2 वर्ग ओवरलैप नहीं कर सकते हैं, क्योंकि उन्हें अलग पैर की उंगलियों होना चाहिए!
इसके अलावा, मैंने 2x2 को एक सुविधा के रूप में लिया, किसी भी अधिक उन्नत समाधान का स्वागत है, लेकिन मैं बस एक मानव आंदोलन वैज्ञानिक हूं, इसलिए मैं न तो एक वास्तविक प्रोग्रामर या गणितज्ञ हूं, इसलिए कृपया इसे 'सरल' रखें।
यहां एक संस्करण है जिसे लोड किया जा सकता हैnp.loadtxt
परिणाम
इसलिए मैंने @ jextee के समाधान की कोशिश की (नीचे परिणाम देखें)। जैसा कि आप देख सकते हैं, यह सामने के पंजे पर बहुत काम करता है, लेकिन यह हिंद पैरों के लिए कम अच्छी तरह से काम करता है।
अधिक विशेष रूप से, यह चौथी चोटी के छोटे शिखर को नहीं पहचान सकता है। यह स्पष्ट रूप से इस तथ्य से निहित है कि लूप सबसे कम मूल्य की ओर ऊपर दिखता है, बिना यह ध्यान रखे कि यह कहां है।
क्या किसी को पता होगा कि @ jextee का एल्गोरिथ्म कैसे बनाना है, ताकि यह 4 वें पैर के अंगूठे को भी ढूंढ सके?
चूंकि मैंने अभी तक किसी अन्य परीक्षण को संसाधित नहीं किया है, इसलिए मैं किसी अन्य नमूने की आपूर्ति नहीं कर सकता। लेकिन मैंने पहले जो डेटा दिया था वह प्रत्येक पंजा का औसत था। यह फ़ाइल प्लेट के साथ संपर्क बनाने के क्रम में 9 पंजे के अधिकतम डेटा के साथ एक सरणी है।
यह छवि दिखाती है कि कैसे वे स्थानिक रूप से प्लेट में फैल गए थे।
अपडेट करें:
मैंने रुचि रखने वाले किसी व्यक्ति के लिए एक ब्लॉग स्थापित किया है और मैंने सभी कच्चे मापों के साथ एक स्काईड्राइव सेटअप किया है। तो किसी को भी अधिक डेटा का अनुरोध: आप के लिए और अधिक शक्ति!
नई अपडेट:
तो मदद के बाद मुझे पंजा का पता लगाने और पंजा छँटाई के बारे में अपने सवालों के साथ मिला , मैं आखिरकार अपने पंजे के लिए पैर की अंगुली की जांच करने में सक्षम था! पता चला, यह किसी भी चीज़ में इतनी अच्छी तरह से काम नहीं करता है, लेकिन पंजे मेरे खुद के उदाहरण की तरह हैं। Hindsight में ऑफ कोर्स, यह 2x2 को मनमाने ढंग से चुनने के लिए मेरी अपनी गलती है।
यहां एक अच्छा उदाहरण है जहां यह गलत हो जाता है: एक नाखून को पैर की अंगुली के रूप में पहचाना जा रहा है और 'एड़ी' इतनी चौड़ी है, इसे दो बार पहचाना जाता है!
पंजा बहुत बड़ा है, इसलिए कोई ओवरलैप नहीं के साथ 2x2 का आकार लेते हुए, कुछ पैर की उंगलियों का पता लगाने का कारण बनता है। दूसरे तरीके से, छोटे कुत्तों में यह अक्सर 5 वें पैर के अंगूठे को खोजने में विफल रहता है, जो मुझे संदेह है कि 2x2 क्षेत्र बहुत बड़ा होने के कारण है।
अपने सभी मापों पर वर्तमान समाधान की कोशिश करने के बाद , मैं चौंका देने वाले निष्कर्ष पर आया कि मेरे सभी छोटे कुत्तों के लिए यह 5 वीं पैर की अंगुली नहीं मिली और बड़े कुत्तों के लिए 50% से अधिक प्रभावों में यह अधिक पाया जाएगा!
तो स्पष्ट रूप से मुझे इसे बदलने की आवश्यकता है। मेरा अपना अनुमान neighborhood
छोटे कुत्तों के लिए कुछ के आकार को बदल रहा था और बड़े कुत्तों के लिए बड़ा था। लेकिन generate_binary_structure
मुझे सरणी के आकार को बदलने नहीं देंगे।
इसलिए, मैं उम्मीद कर रहा हूं कि किसी और के पास पैर की उंगलियों का पता लगाने के लिए एक बेहतर सुझाव है, शायद पैर के आकार के साथ पैर की अंगुली का क्षेत्र है?