c++ क्षैतिज काल्पनिक अक्ष के संबंध में पवन टरबाइन के ब्लेड द्वारा गठित कोण को कैसे पता चलेगा?



पवन चक्की संयंत्र (1)

इस प्रक्रिया प्रवाह में मुझे ध्यान था:

  1. चूंकि आपका कैमरा स्थिर है, आप क्षेत्रों को फसल (डुबकी) से परिभाषित कर सकते हैं और केवल Houghtransform लागू करने के लिए इस क्षेत्र में किनारों का पता लगा सकते हैं
  2. चूंकि आपको ब्लेड की सटीक लंबाई पता है (स्थैतिक कैमरा के कारण), आप ब्लेड की लंबाई के लिए Houghlines को बाध्य कर सकते हैं।
  3. Houghlines प्राप्त करने के बाद, आपको दो (लगभग समानांतर) लाइनों (मुझे लगता है कि ब्लेड किनारों को समानांतर नहीं है, इसलिए वे बेस में घने हैं और टिप में पतले होते हैं) के बीच की औसत रेखा प्राप्त करने की आवश्यकता है - सटीक केंद्र लाइन प्राप्त करने के लिए एक ब्लेड की
  4. बाद में आप ब्लेड के एक वेक्टर (एंड पॉइंट - प्रारंभ पृष्ठ) प्राप्त कर सकते हैं।
  5. अब आपको सदिश से डॉट उत्पाद के arcos और एक क्षैतिज रेखा वेक्टर (1,0) की गणना करने की आवश्यकता है - यह ब्लेड और क्षैतिज रेखा के बीच का कोण है।

एक आदर्श पवन ऊर्जा फार्म में समान ब्लेड एंगल * के साथ घूमने वाले सभी टर्बाइन होंगे, इसी तरह चर गति पर विभिन्न टर्बाइन स्पिन के ब्लेड इसके परिणामस्वरूप, प्रत्येक विंड टर्बाइन के लिए ब्लेड एंगल अलग है। 4 विंड टर्बाइनों के मामले को ध्यान में रखते हुए, प्रत्येक ने 100 मीटर की दूरी पर रखा और 1, 2, 3 और 4 के ब्लेड एंगल का गठन किया, हम उपयुक्त कंप्यूटर दृष्टि एल्गोरिदम का उपयोग करके प्रत्येक टरबाइन के ब्लेड एंगल की निगरानी के लिए ओपनसीवी का उपयोग कर सकते हैं और वेबकैम की दूरी, स्थान और अन्य ऐसे कारकों का लेखा-जोखा करें जो उसी पर नजर रखे। विचार ब्लेड कोणों का सही मूल्य प्राप्त करने के लिए है।

* ब्लेड एंगल (यहां) - पहले ब्लेड और एक काल्पनिक क्षैतिज अक्ष के बीच का गठन कोण, एक दक्षिणावर्त दिशा विरोधी दिशा में मापा गया।

मुझे उम्मीद है कि यह स्पष्टता प्रदान करता है

ओपनसीवी में, मेरे पास निम्नलिखित पद्धति की योजना है-

छवि / फ़्रेम प्राप्त करें- कांही किनारे का पता लगाने का उपयोग करें- लाइनों को ढूंढने के लिए हौग लाइनों का उपयोग करें-ब्लेड लाइनों को पहचानें- ब्लेड कोण खोजें-अगले फ्रेम पर जाएं

मेरी समस्या यहां है- मुझे नहीं पता कि हॉफ़ लाइनों को ढूँढने के बाद केवल ब्लेड लाइनों को कैसे पहचाना मुझे पता है संभाव्य Hough लाइनें 'लाइन' लौटेगी, अर्थात्, सभी पंक्तियों के अंत बिंदु को पता चला। लेकिन फिर मुझे कैसे पता चलेगा कि कौन सी लाइनें ब्लेड से संबंधित हैं? मुझे एक अन्य समस्या यह है कि ब्लेड कोण को मापने के लिए हब के माध्यम से मुझे एक काल्पनिक क्षैतिज रेखा बनाना चाहिए।

एक अन्य दृष्टिकोण- मूल रूप से मैं क्या चाहता हूं कि रोटेशन को सिंक्रनाइज़ करना और इस उद्देश्य के लिए ब्लेड एंगल को ढूंढना है। ऐसा करने का एक अन्य तरीका हो सकता है- पृष्ठभूमि घटाव का उपयोग करें, सभी 4 टर्बाइनों के आकृतियाँ ढूंढें और आकर्षित करें। संदर्भ के रूप में एक टरबाइन पर विचार करें संदर्भ के साथ मिलते हुए अन्य सभी टर्बाइनों की रूपरेखा की तुलना करें और प्रत्येक ब्लेड के कोणों में अंतर पाते हैं। लेकिन मैं उनके बीच के विभिन्न कोणों की तुलना कैसे करूँ? कोई भी कोड स्निपेट उपयोगी होगा

इस पर आपका क्या विचार है? मैं ओपनसीवी प्रयोग करने में पूर्ण शुरुआत कर रहा हूं और किसी भी मदद की सराहना करता हूं। बहुत बहुत धन्यवाद।

संपादित करें: चिंता के मामले में कोण के लिए एक कच्चा संदर्भ 1 ब्लेड एंगल है:

कोण के संदर्भ में, लाइन पर विचार ब्लेड के माध्यम से नहीं जाता है:





angle