घर / छत / एक छवि में आकृतियों की पहचान। पैटर्न मान्यता के बारे में कुछ शब्द। सरल मामला, एक आयामी अलगाव

एक छवि में आकृतियों की पहचान। पैटर्न मान्यता के बारे में कुछ शब्द। सरल मामला, एक आयामी अलगाव

यूडीसी 004932:621.396

टी.एम. व्लासोवा, वी.जी. कलमीकोव

डिजिटल लाइनों के खंडों के अनुक्रम के रूप में छवि रूपरेखाओं की पहचान के लिए एल्गोरिदम और कार्यक्रम

सार: दिए गए कार्य में द्विआधारी छवियों के रूप में डिजिटल सीधी रेखा खंड की मान्यता का एल्गोरिथ्म और यहएल्गोरिथ्म के सॉफ्टवेयर कार्यान्वयन पर विचार किया जाता है। छवियों को संसाधित करने के लिए इस एल्गोरिथम के उपयोग से छवियों के विवरण के ज्ञात तरीकों की तुलना में अधिक प्राकृतिक और किफायती विवरण प्राप्त होगा। अर्ध-स्वर और रंगीन छवियों को संसाधित करते समय माना गया एल्गोरिदम और सॉफ़्टवेयर कार्यान्वयन का उपयोग आकृति के विवरण के लिए भी किया जा सकता है।

कीवर्ड: इमेज, कंटूर, डिजिटल स्ट्रेट सेगमेंट, एल्गोरिथम, प्रोग्राम।

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

सार: इस पत्र में, हम द्विआधारी छवियों के रूप में डिजिटल लाइनों के खंडों को पहचानने और एल्गोरिदम के सॉफ़्टवेयर कार्यान्वयन के लिए एक एल्गोरिदम पर विचार करते हैं। इमेज प्रोसेसिंग में इस एल्गोरिथम का उपयोग करने से की तुलना में अधिक प्राकृतिक और किफायती परिणाम मिलेगा ज्ञात तरीकेछवियों का विवरण। माना एल्गोरिथ्म और सॉफ्टवेयर कार्यान्वयन का उपयोग ग्रेस्केल और रंगीन छवियों के प्रसंस्करण में आकृति का वर्णन करने के लिए भी किया जा सकता है। मुख्य शब्द: छवि, समोच्च, डिजिटल लाइनों के खंड, एल्गोरिथ्म, कार्यक्रम।

1। परिचय

आर्टिफिशियल इंटेलिजेंस सिस्टम में उनकी व्याख्या के उद्देश्य से इमेज प्रोसेसिंग में लाइन सेगमेंट और कर्व्स के आर्क के रूप में इमेज कॉन्ट्रोवर्सी का संरचनात्मक विश्लेषण मुख्य कार्यों में से एक है।

ज्यादातर मामलों में, छवि को विमान के एक हिस्से के रूप में माना जा सकता है, कुछ कानून के अनुसार निरंतर या बदलते मापदंडों वाले क्षेत्रों में विभाजित, उदाहरण के लिए, ऑप्टिकल घनत्व, रंग, बनावट, जो पृष्ठभूमि और छवि वस्तुओं को निर्धारित करते हैं। इन क्षेत्रों में से प्रत्येक की एक अभिन्न संपत्ति इसकी सीमा है, अर्थात, समोच्च एक सरल रूप से जुड़ा हुआ अनुक्रम है जिसमें रेखा खंड और घुमावदार चाप होते हैं। रेखापुंज छवि को संसाधित करते समय, वस्तुओं की आकृति को आमतौर पर हाइलाइट किया जाता है। हालांकि, व्यक्तिगत, सीमा पिक्सेल के एक सेट के रूप में प्रस्तुत वस्तुओं की आकृति, आगे की प्रक्रिया के लिए बहुत उपयुक्त नहीं हैं, क्योंकि वे इसके ज्यामितीय सार को पर्याप्त रूप से व्यक्त नहीं करते हैं।

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

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

इस पत्र में, हम बिना किसी जानकारी के नुकसान के डिजिटल सीधी रेखाओं के खंडों के अनुक्रम के रूप में एक द्विआधारी छवि के समोच्च की मान्यता पर विचार करते हैं।

2. कंटूर डिजिटल लाइनों के खंडों के अनुक्रम के रूप में

यह खंड छवि समोच्चों के संरचनात्मक विश्लेषण को डिजिटल लाइनों के खंडों के अनुक्रम के रूप में मानता है, जो कि डिजिटल वक्रों और डिजिटल लाइनों के खंडों में समोच्च को विभाजित करने के लिए प्रारंभिक डेटा हैं।

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

विशेषणिक विशेषताएंपरिवर्तन के दौरान सीधी रेखाओं के खंड और वक्रों के चाप खो जाते हैं। नमूना छवि को पर्याप्त आवर्धन पर देखते समय, अनुक्रम में अलग-अलग रेखा खंडों और वक्रों के चापों को पहचानना अक्सर मुश्किल होता है।

ऊर्ध्वाधर और क्षैतिज खंड। प्रसंस्करण के दौरान अतिरिक्त कठिनाइयाँ इस तथ्य के कारण उत्पन्न होती हैं कि समोच्च रेखाएँ - बिना मोटाई की गणितीय रेखाएँ - पिक्सेल के जुड़े अनुक्रमों में मॉनिटर स्क्रीन पर प्रदर्शित होती हैं, अर्थात मोटाई के साथ दृश्य रेखाएँ।

इससे उत्पन्न होने वाली समस्याओं को समाप्त करने के लिए, हम विवेचन के परिणामस्वरूप मूल से प्राप्त छवि को द्वि-आयामी कोशिका परिसर के रूप में मानेंगे। इस मामले में

पिक्सल इस सेलुलर कॉम्प्लेक्स के द्वि-आयामी तत्व हैं। पिक्सल के अलावा, दरारें और बिंदु हैं। दरार है

पिक्सेल के किनारे जो एक-आयामी तत्व हैं। डॉट्स दरारों के अंतिम बिंदु और पिक्सेल के कोने बिंदु हैं। अंक शून्य-आयामी तत्व हैं। इसलिए

इस प्रकार, विचाराधीन मामले में, वस्तु का समोच्च समोच्च दरारों का एक जुड़ा हुआ बंद अनुक्रम है, जो वस्तु के पिक्सेल और पृष्ठभूमि के बीच की सीमा है। एक समोच्च को पूर्णांक बिंदु निर्देशांक के अनुक्रम के रूप में वर्णित किया जा सकता है,

समोच्च दरारें सीमित करना। जैसा कि दिखाया गया है, छवि विमान का प्रतिनिधित्व इस प्रकार है

सेल कॉम्प्लेक्स कई लाभ प्रदान करता है। विशेष रूप से, क्षेत्र की सीमा शून्य क्षेत्र के साथ एक पतली वक्र बन जाती है।

अंजीर पर। 1 एक वक्र के चाप और एक सीधी रेखा खंड द्वारा बनाई गई वस्तु के प्रारंभिक समोच्च का एक उदाहरण दिखाता है, साथ ही साथ इसके डिजिटल समकक्ष को दरारों के अनुक्रम के रूप में दिखाता है। विभिन्न दिशाओं की दरारों से संबंधित अंक गिने जाते हैं। जैसा कि कार्यों में, बी-तत्व से हमारा मतलब एक ही दिशा की दरारों का एक जुड़ा हुआ क्रम है, जो किसी बिंदु से शुरू होता है और उसी या लंबवत दिशा की दरार के साथ समाप्त होता है। अंजीर पर। 1 समोच्च के संभावित विभाजनों में से एक को बी-तत्वों में दिखाता है, जो बिंदुओं के बीच दरार से बनते हैं: (0-2), (2-4), (4-6), (6-8), (8 -9), (9 -11), (11-13), (13-15), (15-17), (17-19), (20-21), (21-23), (23-25) ), (25-27 ), (27-0)। प्रत्येक बी-तत्व को निम्नलिखित मापदंडों की विशेषता है: इसके प्रारंभिक बिंदु जी के सापेक्ष दिशा (जी = 0 - ऊपर की दिशा के लिए, 1 - दाईं ओर, 2 - नीचे, 3 - बाईं ओर); एल - दिशा में दरारों की संख्या जी (! = 1,2,...); पिछली दरार की दिशा g के सापेक्ष अंतिम दरार q की दिशा (q = -1 - अंतिम दरार को दिशा g के सापेक्ष बाईं ओर निर्देशित किया जाता है, +1 - दाईं ओर, 0 - दिशा g के साथ मेल खाता है ) दरारों की संख्या l को पारंपरिक रूप से b-तत्व की "लंबाई" कहा जाएगा। b-तत्व (0-2) g =0, !=3, q =+1 के लिए। बी-तत्व (27-0) जी = 3, = 1, क्यू = 0 के लिए।

समोच्च में डिजिटल लाइनों के खंडों को चुनने की विधि खंड बनाने वाले बी-तत्वों के अनुक्रम की निम्नलिखित संपत्ति का उपयोग करती है। इस तरह के अनुक्रम में जी, क्यू के समान मूल्यों वाले बी-तत्व शामिल हैं; उनकी लंबाई मान लेती है!, +1। और

लंबाई के बी-तत्वों का प्रत्यावर्तन!, +1 पूर्णांक n = Ax = |x1 - x2| को विभाजित करके प्राप्त निरंतर अंश द्वारा निर्धारित किया जाता है। और m = Ay = |y1 - y2\, जहां (x1zy1), (x2,y2) प्रारंभिक के निर्देशांक हैं

और खंड के अंतिम बिंदु: or

निश्चितता के लिए, हम मानते हैं कि n > m. सूत्र (1) से निम्नानुसार है, l - n को m से विभाजित करने का पूर्णांक भाग - डिजिटल सीधी रेखा के खंड में समान दिशा की क्रमिक दरारों की संख्या से मेल खाता है। आसन्न लंबवत दरार के साथ, वे लंबाई का बी-तत्व बनाते हैं!। k1 लंबाई l के क्रमिक b-तत्व और लंबाई का एक b-तत्व! +1 (या k1 लंबाई +1 और लंबाई का एक b-तत्व का क्रमिक b-तत्व!) "लंबाई" k1 का K1-तत्व बनाते हैं (द्वारा "लंबाई" बी-तत्व के साथ सादृश्य)। एक बी-तत्व जो लगातार बी-तत्वों से लंबाई में 1 से भिन्न होता है, उसे दिए गए के 1-तत्व का संशोधित बी-तत्व कहा जाएगा। इसी तरह, "लंबाई" k1 के k2 लगातार K1-तत्व और "लंबाई" k1 +1 का एक K1-तत्व (या "लंबाई" k1 +1 के k2 लगातार K1-तत्व और "लंबाई" k1 का एक K1-तत्व) रूप K2- "लंबाई" तत्व k1। इसलिए

के + के 2 + के जेड + ... + किलो

तब तक जब तक कि निरंतर अंश के सदस्य समाप्त नहीं हो जाते। K1 -तत्व (आमतौर पर K-1 -तत्व), जो कि K1 -तत्वों (Kg-1 -तत्व) से लंबाई में 1 से भिन्न होता है, हम इस K2 के परिवर्तित K1 -तत्व (Kg-1 -तत्व) को कॉल करेंगे - तत्व (किलो-तत्व)। इस प्रकार, प्रत्येक को

एक सीधी रेखा का एक डिजिटल खंड एक निरंतर अंश से मेल खाता है, जिसके तत्व इस खंड की संरचना को निर्धारित करते हैं।

अंजीर में समोच्च में। 1 डिजिटल सीधी रेखाओं के निम्नलिखित खंडों का चयन किया जा सकता है: 0-3, 3-9, 910, 10-17, 17-0।

3. समोच्च में डिजिटल लाइन खंडों का चयन

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

एक डिजिटल लाइन के खंडों के चयन की विधि में क्रमिक रूप से निम्नलिखित क्रियाएं करना शामिल है।

1. दरारों के क्रम में बी-तत्वों के अनुक्रम का चयन। यह क्रिया एक पूर्णांक भाग की परिभाषा से मेल खाती है! निरंतर शॉट (1)।

2. बी-तत्वों के अनुक्रम में आर = 1 के साथ केजी-तत्वों के अनुक्रम का अलगाव, और प्रत्येक के 1-तत्व के बी-तत्वों में से एक में अन्य की तुलना में 1 दरार अधिक या कम होनी चाहिए। यह क्रिया निरंतर भिन्न (1) के k1-वें तत्व की परिभाषा से मेल खाती है। इसके निष्पादन के बाद, r का मान 1 से बढ़ाया जाना चाहिए।

3. Kg-1-तत्वों के क्रम में Kg-तत्वों के अनुक्रम का अलगाव,

इसके अलावा, प्रत्येक Kg तत्व के Kg-1 तत्वों में से एक में K-2 तत्व अन्य की तुलना में अधिक या कम होना चाहिए। यह क्रिया k की परिभाषा से मेल खाती है (निरंतर अंश (1) का तत्व। इसके निष्पादन के बाद, r का मान 1 से बढ़ाया जाना चाहिए।

4. पैराग्राफ 3 को तब तक दोहराया जाता है जब तक कि यह लगातार क्र-तत्वों से संभव न हो

फार्म किमी-तत्व।

5. सीमा बिंदु दो आसन्न बी-तत्वों के बीच निर्धारित होते हैं जो एक ही किलो-तत्व में शामिल नहीं होते हैं। ये बिंदु डिजिटल लाइन सेगमेंट के अंतिम बिंदु हैं जो समोच्च बनाते हैं।

बी-तत्वों के अनुक्रम में लाइन सेगमेंट का चयन करने के लिए एल्गोरिदम पर विचार करें

चलो [बी 5 (/5, जीएस, क्यूएस)); s = 0.1,...,t - समोच्च बनाने वाले एल-तत्वों का क्रम; x5, y5 - ई-वें बी-तत्व की शुरुआत के निर्देशांक; [हू, वाई वाई); वाई =; आर = 0,1,...,!; !< £ - множество

समोच्च विराम बिंदु। ब्रेकप्वाइंट पथ बनाने वाले रेखाखंडों के अंतिम बिंदुओं को परिभाषित करते हैं। विराम बिंदु खोजने का अर्थ है समोच्च बनाने वाले रेखा खंडों को निर्धारित करना।

विचाराधीन प्रत्येक खंड को एक किलोग्राम-तत्व, साथ ही एक श्रृंखला . द्वारा विशेषता है

गोली मार दी खंड मान्यता के प्रारंभिक क्षण में, संबंधित निरंतर अंश के तत्व 0 के बराबर होते हैं। एक खंड को मान्यता प्राप्त माना जा सकता है यदि क्र-तत्व के मापदंडों को मान्यता दी जाती है, जिसमें इसके क्रम r और तत्वों के मान शामिल हैं संगत निरंतर अंश।

1. प्रारंभिक शर्तें।

अनुक्रम [b5 (/5, gs, qs)) और (x5, y5) दिए गए हैं।

विराम बिंदुओं के निर्देशांक ज्ञात करना आवश्यक है |x;.,y,)।

k0r:= 0, k1r:= 0, k2r:= 0,..., kr:= 0 - निरंतर भिन्न तत्वों के कार्यशील मान।

आइए हम पहले खंड के शुरुआती बिंदु के रूप में बिंदु 5 = 0 लें; मैं = 0; मैं = 0।

2. पहले सीधी रेखा खंड की शुरुआत से पहले बी-तत्व को अनुक्रम में लें। इसका प्रारंभिक बिंदु x5,y है। लंबाई /=/0 निरंतर भिन्न के पहले तत्व का मान भी है।

5:=5+1; k1p:=k1p+1.

3. अगले बी-तत्व की जाँच करें कि क्या वे पिछले वाले के साथ मिलकर K0-तत्व बनाते हैं।

3.1. यदि ((q3 == q3-1) && (q3 == 73-1)&& (4 == /3-1)), तो क्र-तत्व k0p:= k0p +1 की निरंतरता; 5:= 5 + 1; और रेखा खंड की निरंतरता। आइटम 3 पर जाएं।

3.2. यदि ((d3 f d3-1) || (d3 f 73-1)11 (|/e - /є-1!>1)), तो रेखा खंड का अंत। आइटम 5 पर जाएं।

3.3. अगर ((&== 93+1) && (%== 73+1)&& ((/3+1== /3+1)1! (/3 - 1 == /3+1))), फिर K0 -तत्व का पूरा होना; = +1।

4. K की निरंतरता / पूर्णता की जाँच करना (-element.

4.1. अगर (के == 0), तो के ^= के ^; करोड़: = 0; k^1p:= k1+ 1p+1; 5:=5 +1; किमी तत्व की शुरुआत।

आइटम 3 पर जाएं।

4.2. अगर ((के आईएफ 0)&&(k == k^)), फिर k^1p:= k^1p+1; 5:= 5+1; Ki+1 तत्व की निरंतरता। आइटम 3 पर जाएं।

4.3. अगर ((k (Ф 0)&&((k+1== k1p)11(k1-1 == k^))), तो Ї := +1; किमी-तत्व का अंत।

आइटम 4 पर जाएं।

4.4. अगर ((^φ0)&&(|k - k1p|>1)), तो खंड का अंत आइटम 5 के लिए एक सीधा संक्रमण है।

5. खंड का अंत।

एक्स] = एक्सएस; वाई \u003d उज़; k1p: = 0, k2p: = 0,।, kіp: = 0; के:= 0, के2:= 0,., के:= 0.

अगर (एस< S), то s:= s +1; переход к п. 2.

अन्यथा, एल-तत्वों के अनुक्रम का अंत। एल्गोरिथ्म का अंत।

वास्तव में, प्रस्तावित एल्गोरिदम निरंतर अंश के तत्वों को ढूंढता है और प्रत्येक प्राप्त केटी-तत्व के लिए और जांचता है कि नव निर्मित केटी-तत्व का निरंतर अंश पहले से निर्मित एक के लिए उपयुक्त है या नहीं।

4. डिजिटल लाइन के खंडों के चयन का कार्यक्रम

जैसा कि एल्गोरिथम के विवरण से देखा जा सकता है, इसमें महत्वपूर्ण संख्या में सशर्त कूद होते हैं, जिसका उपयोग डिबगिंग कार्यक्रमों के दौरान उत्पन्न होने वाली कठिनाइयों के कारण संरचित प्रोग्रामिंग की सिफारिशों का खंडन करता है। इसके अलावा, मापदंडों की संख्या Kt अग्रिम में

निर्धारित नहीं किया जा सकता है, क्योंकि चर t पहले से सीमित नहीं है। t . के मान को सीमित करें

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

प्रस्तावित एल्गोरिथ्म को LINESEGM प्रोग्राम के रूप में लागू किया गया है, जो विजुअल C++ वातावरण में इमेज प्रोसेसिंग के लिए प्रयोगशाला सॉफ्टवेयर पैकेज का हिस्सा है।

प्रारंभिक जानकारी के रूप में, LINESEGM प्रोग्राम संसाधित छवि के प्रत्येक आकृति के लिए निर्मित L-तत्वों के अनुक्रमों का उपयोग करता है।

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

जैसा कि एल्गोरिथम से देखा जा सकता है, केटी-एल-तत्वों से केटी-तत्वों के निर्माण के संचालन

t के सभी मानों के लिए समान हैं। ध्यान दें कि प्रारंभिक मान t = 0 हर बार एल्गोरिथम के चलने पर 1 से बढ़ जाता है। विशेष वर्ग CKForLn में एल्गोरिथम के संचालन से संबंधित विधियाँ शामिल हैं। प्रोग्राम के संचालन के दौरान, जो एल्गोरिथम को लागू करता है, t से 1 में प्रत्येक वृद्धि के साथ, एक नई वस्तु बनाई जाती है जिसमें फ़ंक्शन होते हैं जो t के प्रत्येक मान के लिए एल्गोरिथम के संचालन को निष्पादित करते हैं।

इस बात को ध्यान में रखते हुए कि शून्य स्तर पर K0 -तत्व K -तत्वों से नहीं, बल्कि L से बनते हैं -

तत्व, CKForLn वर्ग का एक विशेष संशोधन, Cmini वर्ग, एल्गोरिथ्म को शून्य स्तर पर लागू करने के लिए बनाया गया था।

कार्यक्रम के संचालन का सिद्धांत यह है कि t के प्रत्येक मान के लिए, कार्यक्रम t-th स्तर के वर्ग CKForLn की एक वस्तु को लागू करता है, जिसमें ऐसे कार्य होते हैं जो Kt तत्व के मापदंडों को निर्धारित करते हैं। केटी-तत्व के प्रारंभिक पैरामीटर पहले से ही पैरामीटर हैं

पूर्ण Kt-l -element जिसके मापदंडों को CKForLn t-1 . वर्ग की एक वस्तु द्वारा परिभाषित किया गया था

वाह स्तर।

CKForLn वर्ग की वस्तुओं को लागू किया जाता है क्योंकि स्थितियाँ उत्पन्न होती हैं, अर्थात्: अगले स्तर के K- तत्व बनाने की आवश्यकता होती है, और एक विशेष गतिशील सरणी में जमा होती है। शून्य-स्तरीय ऑब्जेक्ट प्रोग्राम की शुरुआत में तुरंत बनाया जाता है।

गतिशील सरणी में वस्तुओं के कार्यान्वयन के रूप में t बढ़ता है जिससे आप छवि के आकार पर प्रतिबंध नहीं लगा सकते हैं। छवि आकार सीमा केवल उपयोग किए जा रहे कंप्यूटर के संसाधनों द्वारा निर्धारित की जाती है।

कार्यक्रम के संचालन का वर्णन करते समय, पूर्ण केटी की अवधारणा का उपयोग किया जाएगा -

तत्व। प्रत्येक पूर्ण केटी तत्व में केटी केटी-एल तत्व और एक संशोधित केटी-एल तत्व होता है जिसमें केटी-एल ± 1 केटी-2 तत्व होते हैं, एक अपूर्ण केटी तत्व के विपरीत जिसमें अधूरा केटी तत्व नहीं होता है।

CKForLn वर्ग में निम्नलिखित विधियाँ शामिल हैं।

1. विधि डीके (), (के-तत्व को परिभाषित करें) - के-तत्व को परिभाषित करें।

Kt -element निर्धारित करने के लिए Kt-1 -element की संख्या निर्धारित करना है जो किसी दिए गए Kt -element को बनाते हैं।

2. विधि वीके§, (के-तत्व सत्यापित करें) - समान स्तर के के-तत्व के साथ माने गए के-तत्व की पहचान की जांच करें, जो पहले डीके () विधि के कार्य द्वारा निर्धारित किया गया था।

3. विधि डीईओ, (के-तत्व के अंत को परिभाषित करें) - के-तत्व के अंत को निर्धारित करने के लिए, यानी, केटी-तत्व को परिभाषित करते समय, इसके संशोधित केटी-1-तत्व को ढूंढें। स्तर t-1 के DE () विधि फ़ंक्शन को स्तर t के DK () विधि फ़ंक्शन द्वारा कहा जाता है।

4. विधि VE(),(K -element के अंत की पुष्टि करें) - संशोधित K -element के साथ माने गए K -element के अंत की पहचान की जांच करें, जिसे पहले DE () विधि के फ़ंक्शन द्वारा परिभाषित किया गया था।

Cmini वर्ग में वही विधियाँ शामिल हैं, जो CKForLn वर्ग की विधियों से भिन्न हैं जिसमें Cmini वर्ग की विधियाँ L तत्वों पर कार्य करती हैं और K0 तत्वों को निर्धारित या जाँचती हैं।

Cmini वर्ग के तरीके

Cmini वर्ग के तरीकों का उपयोग एल-तत्वों के प्रारंभिक डेटा अनुक्रमों के रूप में किया जाता है, जो संसाधित छवि के प्रत्येक आकृति के लिए निर्मित होते हैं, जिस समय विधि फ़ंक्शन कहा जाता है, उस समय एल-तत्व की वर्तमान संख्या से शुरू होता है।

Cmini वर्ग की DK () विधि का कार्य प्रत्येक अगले L -element के मापदंडों की तुलना प्रारंभिक L -element के मापदंडों से तब तक करता है जब तक वे मेल नहीं खाते। यदि पैरामीटर मेल नहीं खाते हैं, तो डीके () फ़ंक्शन जांचता है कि क्या K0 तत्व पूरा हो गया है और समाप्त हो गया है

काम। एक K0 -तत्व को पूर्ण माना जाता है यदि यह एक संशोधित L -तत्व के साथ समाप्त होता है, जिसकी लंबाई K0 -तत्व के अन्य L -तत्वों से 1 से भिन्न होती है (खंड की शुरुआत के लिए ऑपरेशन 3.1 - t = 0)।

वीके () विधि का कार्य यह जांचता है कि निम्नलिखित k0 एल-तत्वों के पैरामीटर K0 -तत्व के एल-तत्वों के मापदंडों से मेल खाते हैं जो पहले डीके () विधि के कार्य द्वारा परिभाषित किए गए थे।

एक ही स्तर। यदि वर्तमान K0 तत्व के पैरामीटर पहले के साथ मेल खाते हैं

परिभाषित, फ़ंक्शन वीके () खंड की निरंतरता का संकेत उत्पन्न करता है और समाप्त होता है (खंड की निरंतरता के लिए ऑपरेशन 3.1 - टी> 0)।

में अन्यथावीके () फ़ंक्शन खंड के अंत का संकेत उत्पन्न करता है और समाप्त होता है

DE () विधि फ़ंक्शन वर्तमान Kci तत्व के मापदंडों की तुलना K0 तत्व के मापदंडों के साथ करता है जो पहले DK () फ़ंक्शन द्वारा परिभाषित किया गया था ताकि यह निर्धारित किया जा सके कि वर्तमान K0 तत्व बदल गया है या नहीं। यदि अन्य पैरामीटर समान हैं, तो एल-तत्वों की संख्या k0

पहले से परिभाषित K0 तत्व की तुलना में संशोधित K0 तत्व की

फ़ंक्शन डीके () 1 से भिन्न होना चाहिए (संचालन 3.2, 3.3 पूर्णता निर्धारित करने के लिए

प्रारंभिक K0 -खंड का तत्व - t = 0)। परिणाम - संशोधित K0 तत्व के पैरामीटर

Cmini वर्ग के VE () विधि में उपयोग किया जाता है।

VE () विधि फ़ंक्शन वर्तमान K0 तत्व के मापदंडों की तुलना संशोधित K0 तत्व के मापदंडों के साथ करता है जो पहले DE () फ़ंक्शन द्वारा परिभाषित किया गया था ताकि यह निर्धारित किया जा सके कि क्या

क्या वे मेल खाते हैं (खंड की निरंतरता के लिए ऑपरेशन 3.2, 3.3 - टी> 0)। परिणाम - एक मैच या बेमेल का संकेत - CKForLn वर्ग की VK() विधि में उपयोग किया जाता है।

CKForLn वर्ग के तरीके

विधियाँ प्रारंभिक डेटा के रूप में निम्नतम स्तर के लिए निर्मित K-तत्वों के मापदंडों का उपयोग करती हैं। यही है, केटी तत्व के मापदंडों को निर्धारित करने के लिए, मापदंडों का उपयोग किया जाता है

पहले से ही निर्मित केटी-एल-तत्व।

CKForLn वर्ग के स्तर t की DK () विधि का कार्य, ^-तत्व के मापदंडों का निर्धारण करते समय, CKForLn वर्ग के स्तर t-1 के फ़ंक्शन VK () को कॉल करता है, जो जांचता है कि क्या Kt-l तत्व के साथ समान पैरामीटर पहले से परिभाषित Kt-l तत्व का अनुसरण करते हैं। यदि हां, तो वीके () फ़ंक्शन कॉल दोहराया जाता है। इस मामले में, दोहराव की संख्या की गणना की जाती है, अर्थात पैरामीटर kt निर्धारित किया जाता है।

अन्यथा, स्तर t का DK () फ़ंक्शन संशोधित Kt-l तत्व को निर्धारित करने और बाहर निकलने के लिए स्तर t-1 के DE () फ़ंक्शन को कॉल करता है। काम के अंत में, CKForLn वर्ग के स्तर t का DK () फ़ंक्शन मापदंडों को निर्धारित करता है और एक पूर्ण या अपूर्ण Kt तत्व के संकेत उत्पन्न करता है (ऑपरेशन 4.1, 4.2 t के वर्तमान अधिकतम मूल्य के साथ)।

CKForLn वर्ग के स्तर t की VK () विधि का कार्य यह जाँचता है कि क्या निम्नलिखित kt Kt -elements के पैरामीटर पहले परिभाषित Kt -element के मापदंडों से मेल खाते हैं

समान स्तर की DK () विधि का कार्य। यदि वर्तमान केटी-तत्व के पैरामीटर मेल खाते हैं

इससे पहले फ़ंक्शन परिभाषितडीके () केटी -समान स्तर का तत्व, फ़ंक्शन वीके ()

खंड की निरंतरता का संकेत उत्पन्न करता है और कार्य को पूरा करता है।

अन्यथा, वीके () फ़ंक्शन खंड के अंत का संकेत उत्पन्न करता है और बाहर निकलता है (ऑपरेशन 4.1,4.2 अधिकतम से कम टी के वर्तमान मूल्य के साथ)।

Kt तत्व CKForLn वर्ग के DE0 स्तर t विधि का कार्य, Kt तत्व के मापदंडों का निर्धारण करते समय, वर्तमान Kt तत्व के मापदंडों की तुलना Kt तत्व के मापदंडों के साथ करता है जो पहले DK () फ़ंक्शन द्वारा निर्धारित किया जाता है कि क्या यह निर्धारित करने के लिए कि क्या वर्तमान केटी तत्व बदल गया है। यदि अन्य पैरामीटर समान हैं, तो उनके kt-1 मान 1 से भिन्न होने चाहिए। यदि यह शर्त पूरी होती है, तो DE () फ़ंक्शन परिवर्तित Kt तत्व का संकेत उत्पन्न करता है और

समाप्त हो जाता है (टी के वर्तमान अधिकतम मूल्य पर ऑपरेशन 4.3, 4.4)।

CKForLn वर्ग के स्तर t की VE () विधि का कार्य वर्तमान Kt तत्व के मापदंडों की तुलना DE () फ़ंक्शन द्वारा पहले से आवंटित संशोधित Kt तत्व के मापदंडों से करता है ताकि यह निर्धारित किया जा सके कि उनके पैरामीटर मान मेल खाते हैं या नहीं।

यदि वर्तमान केटी-तत्व के मापदंडों का मान पहले के साथ मेल खाता है

समान स्तर के डीके () फ़ंक्शन द्वारा परिभाषित, वीके () फ़ंक्शन एक संकेत उत्पन्न करता है कि पैरामीटर मान मेल खाते हैं और समाप्त होते हैं (ऑपरेशन 4.3,4.4 अधिकतम से कम टी के वर्तमान मूल्य के साथ)।

समय आरेख (चित्र 2) एक सीधी रेखा खंड की पहचान के उदाहरण का उपयोग करके LINESEGM कार्यक्रम के संचालन को दिखाता है। आकृति का निचला हिस्सा डिजिटल लाइन का एक हिस्सा दिखाता है, जिसमें समान मुख्य और सहायक दिशाओं और अलग-अलग लंबाई के एल-तत्व होते हैं।

चरण 0 पर, Stіnі वर्ग की एक वस्तु बनाई जाती है, जो K0 -element के मापदंडों को परिभाषित करती है।

चरण 10 पर, K0 तत्व के मापदंडों का निर्धारण पूरा हो गया है और CRORGn वर्ग का एक ऑब्जेक्ट 1 बनाया गया है, जो K1 तत्व के मापदंडों को निर्धारित करने के लिए पहले से बनाई गई वस्तु के कार्यों का उपयोग करता है। चरण 19 पर, K1 तत्व के मापदंडों का निर्धारण पूरा हो गया है और CCROGn वर्ग का एक ऑब्जेक्ट 2 बनाया गया है, जो K2 तत्व के मापदंडों को निर्धारित करने के लिए पहले से बनाई गई वस्तुओं के कार्यों का उपयोग करता है। चरण 49 पर, K2 तत्व के मापदंडों का निर्धारण पूरा हो गया है और CKRORGN वर्ग का एक ऑब्जेक्ट 3 बनाया गया है, जो K3 तत्व के मापदंडों को निर्धारित करने के लिए पहले से बनाई गई वस्तुओं के कार्यों का उपयोग करता है। चरण 79 पर,

समाप्ति की स्थिति। कार्यक्रम के संचालन को परिशिष्ट में विस्तार से वर्णित किया गया है।

खंड 0-6 में, दो बी-तत्व एक अधूरा K0-तत्व बनाते हैं। स्पष्ट है कि बी-

लंबाई 3 का तत्व 3-6 लाइन खंड को पूरा करता है, क्योंकि लंबाई 1 का बी-तत्व 6-7 इसकी निरंतरता नहीं हो सकता है। इस प्रकार, बी-तत्व 6-7 डिजिटल लाइन के खंड की शुरुआत है।

अंजीर पर। 3 एक उदाहरण दिखाता है कि प्रोग्राम कैसे काम करता है। घुंघराले तीर की द्विआधारी छवि के समोच्च को वर्गों द्वारा सीधी रेखा खंडों में विभाजित किया गया है। कार्यक्रम के परिणाम - लाइन खंडों का एक क्रम - का उपयोग डिजिटल वक्रों के आर्क को उजागर करने के लिए किया गया था। बड़े वर्ग डिजिटल वक्र चापों की सीमाओं को दर्शाते हैं।

कार्यक्रम के संचालन का परीक्षण महत्वपूर्ण संख्या (2000 से अधिक) उदाहरणों पर किया गया है और इसका उपयोग हाफ़टोन छवियों के संरचनात्मक विश्लेषण के अध्ययन में किया जाता है।

5. लाइन सेगमेंट की पहचान के लिए कार्यक्रम का कार्य

आइए अंजीर के उदाहरण पर कार्यक्रम iEBESM के काम पर विचार करें। 4. आकृति का निचला हिस्सा डिजिटल लाइन का एक हिस्सा दिखाता है, जिसमें एक ही मुख्य और सहायक दिशाओं और अलग-अलग लंबाई के बी-तत्व होते हैं। खंड 0-6 में, दो बी-तत्व अपूर्ण K0- बनाते हैं।

चावल। 3. समोच्च के संरचनात्मक विश्लेषण के लिए कार्यक्रम के काम का एक उदाहरण - डिजिटल सीधी रेखाओं के खंडों द्वारा समोच्च का विभाजन

तत्व। जाहिर है, लंबाई 3 का बी-तत्व 3-6 रेखा खंड को पूरा करता है, क्योंकि लंबाई 1 का बी-तत्व 6-7 इसकी निरंतरता नहीं हो सकता है। इस प्रकार, बी-तत्व 6-7 डिजिटल लाइन के खंड की शुरुआत है।

सीधी रेखा के अगले खंड को निर्धारित करने के लिए कार्यक्रम का कार्य शून्य स्तर के ओके () फ़ंक्शन द्वारा शुरू किया जाता है, जो कि पूर्ण K0 -तत्व 6-10 को निर्धारित करता है, जिसमें बी-तत्व शामिल हैं

लंबाई 1,1,2; के0 = 2। यह K0 तत्व K1 तत्व के लिए प्रारंभिक तत्व है। प्रोग्राम पहले स्तर का एक ऑब्जेक्ट बनाता है और इस ऑब्जेक्ट के ओके () फ़ंक्शन पर नियंत्रण स्थानांतरित करता है। स्तर 1 का OK() फ़ंक्शन स्तर 0 के VKQ फ़ंक्शन को कॉल करता है। VKQ ​​फ़ंक्शन K0-तत्व 6-10 के b-तत्वों के मापदंडों की तुलना बाद के b-तत्वों से करता है और K0-तत्व 10-14 की उपस्थिति की पुष्टि करता है,

K0 तत्व 6-10 के समान। जारी रखते हुए, वीकेक्यू फ़ंक्शन यह पता लगाता है कि अगला बी-तत्व समान K0-तत्व नहीं बनाता है, बाहर निकलता है और स्तर 1 OK() फ़ंक्शन पर नियंत्रण स्थानांतरित करता है। स्तर 1 OK() फ़ंक्शन स्तर 0 OE() फ़ंक्शन को कॉल करता है। बी-तत्व 6-7 के साथ, संशोधित K0 तत्व 14-19 की उपस्थिति निर्धारित करता है, जिसमें लंबाई 1,1,1,2 के बी-तत्व शामिल हैं; k0=3, स्तर 1 के OK() फ़ंक्शन पर नियंत्रण से बाहर निकलता है और स्थानांतरित करता है। यह फ़ंक्शन एक पूर्ण K1 तत्व 6-19 की उपस्थिति को निर्धारित करता है, जिसमें दो K0 शामिल हैं -

तत्व 1,1,2, (k1=2) और एक बदल गया 1,1,1,2 (k0=3)। कार्यक्रम दूसरे स्तर का एक ऑब्जेक्ट बनाता है और इस ऑब्जेक्ट के ओके () फ़ंक्शन पर नियंत्रण स्थानांतरित करता है। स्तर 2 OK() फ़ंक्शन स्तर 1 VKQ फ़ंक्शन को कॉल करता है, जो बदले में स्तर 0 VKQ फ़ंक्शन को कॉल करता है। VKQ ​​फ़ंक्शन K0 तत्व 6-10 के b-तत्वों की तुलना निम्न b से करता है

तत्वों और K0 तत्वों की उपस्थिति की पुष्टि करता है 19-23, 23-27, K0 तत्व 6-10 के समान, अर्थात, K0 तत्व के समान संख्या K1 तत्व 6-19 में निहित है। अगला, स्तर 0 का VKQ फ़ंक्शन, स्तर 1 के VKQ फ़ंक्शन के खंड को जारी रखने के संकेत के साथ नियंत्रण लौटाता है। VKQ ​​फ़ंक्शन फ़ंक्शन VE0 स्तर 0 को कॉल करता है, जो एक परिवर्तित K0 की उपस्थिति को निर्धारित करता है -

तत्व 27-32, K0 तत्व 14-19 के समान। इस प्रकार, K1-तत्व 19-32 परिभाषित किया गया है,

K1 तत्व 6-19 के समान। इसके अलावा, स्तर 1 VKQ फ़ंक्शन K1 तत्व 6-19 के समान अगला K1 तत्व निर्धारित नहीं करता है, क्योंकि स्तर 0 फ़ंक्शन VE0, संशोधित K1 तत्व को निर्धारित नहीं करता है, K1 तत्व 6-19 के समान, b तत्व से शुरू होता है 40-41, और स्तर 2 के OK() फ़ंक्शन का नियंत्रण लौटाता है। स्तर 2 का OK() फ़ंक्शन स्तर 1 के OE() फ़ंक्शन को कॉल करता है, जो संशोधित K1 तत्व 32-49 की उपस्थिति को निर्धारित करता है, जिसमें निम्न शामिल हैं K0 तत्व 32-36, 36- 40,

40-44, 44-49। अगला, K2 तत्व 6-49 निर्धारित किया जाता है, स्तर 3 वस्तु बनाई जाती है, संशोधित K2 तत्व 49-79 निर्धारित किया जाता है। ये दो K2 तत्व K3 तत्व 6-79 बनाते हैं। यह खंड के निर्माण को पूरा करता है, क्योंकि निम्नलिखित बी-तत्व 79-81 और 81-83 K0 तत्व नहीं बनाते हैं,

K0 तत्व 6-10 के समान, और स्तर 0 VKQ फ़ंक्शन एक निरंतरता ध्वज उत्पन्न नहीं करता है

खंड। बी-तत्वों के क्रम में, डिजिटल सीधी रेखा 6-79 के एक खंड का चयन किया जाता है। कार्यक्रम अगले खंड की परिभाषा शुरू करता है, बी-तत्व 80-82 से शुरू होता है।

बी। निष्कर्ष

1. छवि समोच्चों में रेखा खंडों के चयन के लिए एक नया एल्गोरिथ्म और एल्गोरिथ्म के एक गैर-तुच्छ सॉफ़्टवेयर कार्यान्वयन का प्रस्ताव है, जो छवि समोच्चों को रेखा खंडों के अनुक्रमों के रूप में पहचानने की समस्या का सटीक समाधान प्राप्त करने की अनुमति देता है।

2. इमेज कंट्रोवर्सी में लाइन सेगमेंट के चयन के लिए एल्गोरिथम का सॉफ्टवेयर कार्यान्वयन का उपयोग करके किया जाता है आधुनिक साधनऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग, जिसने उपयोग किए गए कंप्यूटर के संसाधनों के उपयोग को अधिकतम करते हुए संसाधित छवि के आकार पर स्पष्ट प्रतिबंध नहीं लगाना संभव बना दिया।

3. प्रस्तावित एल्गोरिथम और उसके सॉफ्टवेयर कार्यान्वयन के आधार पर, एक सैद्धांतिक समाधान प्राप्त किया गया था और डिजिटल वक्रों के चापों को पहचानने और डिजिटल लाइनों के एक खंड पर बाइनरी छवियों के समोच्च को खंडित करने और डिजिटल वक्रों के चापों पर प्रयोग किए गए थे।

ग्रंथ सूची

1. कोवालेवस्की वी.ए. 7वीं अंतर्राष्ट्रीय कार्यशाला की कार्यवाही में, आर्थिक छवि एन्कोडिंग के लिए डिजिटल स्ट्रेट सेगमेंट के अनुप्रयोग, डीजीसीआई"97, मोंटपेलियर। - फ्रांस, 1997। - 3-5 दिसंबर। - पी। 51-62।

2. कलमीकोव वी.जी. द्विआधारी छवियों के रूप में डिजिटल सीधी रेखाओं के खंडों का वर्णन करने और पहचानने के लिए संरचनात्मक विधि // टुकड़ा बुद्धि। - 2002. - नंबर 4. - सी। 450-457।

3. कलमीकोव वी.जी., विस्नेव्स्की वी.वी. बाइनरी इमेज में ऑब्जेक्ट कंट्रोवर्सी का विश्लेषण // गणितीय मशीनें और सिस्टम। - 1997. - नंबर 2. - एस। 68 - 71।

4. कलमिकोव वी.जी. एक डिजिटल वक्र का चाप - पदनाम और ठहराव // सिग्नल प्रोसेसिंग और छवि पहचान और छवियों की पहचान। अखिल-यूक्रेनी अंतर्राष्ट्रीय सम्मेलन की कार्यवाही। - कीव। - 2004. - 11 - 15 झोवटेन।

समस्या का निरूपणइसके कार्यान्वयन के उद्देश्य और संभावनाओं से निर्धारित होता है।

लक्ष्य।आयताकार भागों को गुणवत्ता और दोषपूर्ण भागों में वर्गीकृत करने के लिए एक कार्यक्रम विकसित करें।

कार्य के कार्यान्वयन के अवसरकंप्यूटर की क्षमताओं से निर्धारित होता है। एक कंप्यूटर एक एल्गोरिथम अनुक्रम में संख्यात्मक जानकारी को संसाधित करने में सक्षम है। कंप्यूटर की क्षमताओं का एहसास करने के लिए, हल की जा रही समस्या का अनुकरण करना आवश्यक है।

कंप्यूटर का उपयोग करके मॉडलिंग का अर्थ है एक वास्तविक वस्तु (दुनिया) से उसके गुणों के कोडित विवरण में डेटा और संचालन का उपयोग करना। ऐसा संक्रमण, एक नियम के रूप में, कई चरणों में किया जाता है:

मतिहीनता- कार्य के संदर्भ में वस्तु की सबसे महत्वपूर्ण विशेषताओं का चयन।

अनुसंधान करना आवश्यक है जो आपको मॉडलिंग की वस्तु से मॉडलिंग के विषय में स्थानांतरित करने की अनुमति देता है, कार्य में लक्ष्य के अनुसार सब कुछ छोड़ देता है

एक आयत अन्य चतुर्भुजों से किस प्रकार भिन्न है?

  • विपरीत पक्षों की समानता।
  • विपरीत पक्षों की समानता।
  • विकर्णों की समानता।
  • सभी कोण सही हैं।

समस्या को विशिष्ट रूप से हल करने के लिए आवश्यक सुविधाओं की न्यूनतम संख्या क्या है?

  • 2 विपरीत भुजाओं की समानता + विकर्णों की समानता।
  • 2 विपरीत भुजाओं का समांतरता + विकर्णों की समानता।
  • तीन कोने सही हैं।

तो, अमूर्तता के लिए धन्यवाद, हमें एक मौखिक सूचना मॉडल मिला। लेकिन, यह अभी भी कंप्यूटर के लिए समझ में नहीं आता है। यह एक एल्गोरिथम के रूप में प्रस्तुत गणितीय मॉडल को समझता है और सॉफ्टवेयर में लागू किया जाता है।

कार्य के कार्यान्वयन के लिए कार्यप्रणाली.

ऑटोकैड ग्राफिक्स सिस्टम में सेगमेंट (लाइन कमांड) से एक गुणवत्ता वाले हिस्से (आयत) या एक दोषपूर्ण भाग (चतुष्कोण) का एक चित्र बनाया जाता है और निर्यात किया जाता है। kntrs.lsp() प्रोग्राम एक DXF फ़ाइल से लाइन सेगमेंट डेटा (वर्टेक्स कोऑर्डिनेट्स) को पढ़ता है और इसे राउंड-रॉबिन क्रम में एक टेक्स्ट फ़ाइल vrtks.txt में लिखता है।

टेक्स्ट फ़ाइल vrtks.txt को सीधे ड्राइंग से कोने के निर्देशांक लेकर मैन्युअल रूप से बनाया जा सकता है।

विकसित rct.lsp प्रोग्राम को vrtks.txt फ़ाइल से डेटा पढ़ना चाहिए, उनका विश्लेषण करना चाहिए और परिणाम को आउटपुट करना चाहिए।

सुविधाओं का औपचारिकरण

खंडों (पक्षों या विकर्णों) की लंबाई की समानता: प्रत्येक खंड की लंबाई एक आयताकार आयत के कर्ण के रूप में निर्धारित की जाती है (पायथागॉरियन प्रमेय के अनुसार) खंडों के निर्देशांक में अंतर के माध्यम से:

(setq DX12 (abs (- X1 X2))) (setq DY12 (abs (- Y1 Y2))) (setq DA1 (sqrt (+ (* DX12 DX12) (* DY12 DY12))))

पंक्तियों की समानता: K2 = K1, कहाँ पे प्रतिसीधी रेखा का ढाल है के=(Y2-Y1)/(X2-X1)

"समकोण" की अवधारणा को औपचारिक रूप कैसे दें? कार्य के भाग के रूप में, की उपस्थिति " समकोण» खंडों की लंबवतता के आधार पर निर्धारित किया जा सकता है: K2 = -1/K1, कहाँ पे प्रतिसीधी रेखा का ढाल है। के = (वाई-वाई 0) / (एक्स-एक्स 0).

कंप्यूटर पर मॉडल प्रदर्शित करना

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

जब हम त्रि-आयामी दृश्य (एक तस्वीर, तस्वीर, मॉनिटर स्क्रीन में) की दो-आयामी छवि को देखते हैं, तो हमें ऐसा लगता है कि जीवन में एक ही दृश्य को सीधे देखने पर हम सभी वस्तुओं को देख सकते हैं जो सीधे मौजूद हैं वहां। इस बीच, वह सब जो वास्तव में हमें द्वि-आयामी छवि में दिया जाता है, वह है दृश्य क्षेत्र, जो बस कुछ है चमक वितरण समारोहया रंग कीद्वि-आयामी विमान पर: एफ(एक्स, आप) , कहाँ पे एक्सऔर आपछवि तल का वर्णन करने वाले कार्तीय निर्देशांक हैं।

इसके अलावा, यदि आप कंप्यूटर मॉनीटर की स्क्रीन के करीब जाते हैं, तो आप देख सकते हैं कि स्क्रीन पर छवि वास्तव में चिकनी और निरंतर नहीं है, लेकिन एक असतत "मोज़ेक" है जिसमें एक नियमित आयताकार मैट्रिक्स में व्यवस्थित अलग-अलग रंगीन आयत होते हैं। यह डिजिटल इमेज है। गणितीय दृष्टिकोण से डिजिटल छविआकार का एक द्वि-आयामी मैट्रिक्स है (DimXDimY), जहां x 0 से DimX-1 तक एक पूर्णांक है, मैट्रिक्स पंक्ति में तत्व संख्या का वर्णन करता है, y 0 से DimY-1 तक का पूर्णांक है, जो पंक्ति का वर्णन करता है मैट्रिक्स की संख्या जिसमें यह तत्व स्थित है। उसी समय, स्वयं डिजिटल छवि के तत्व (आयताकार मैट्रिक्स की एक सेल) को कहा जाता है पिक्सेल(पिक्सेल, चित्र तत्व)। सरलतम स्थिति में, प्रत्येक पिक्सेल Im में एक अदिश पूर्णांक मान होता है जो चमक वितरण फ़ंक्शन के मान के समानुपाती होता है एफ(एक्स, आप) विमान में दिए गए बिंदु पर।

अंजीर पर। चित्र 1.1.1 में, बाईं ओर एक छवि के रूप में प्रस्तुत एक महिला चेहरे की एक छवि दिखाती है, और दाईं ओर उसी चेहरे (दाईं आंख) का एक बड़ा छवि टुकड़ा दिखाता है, जहां प्रत्येक छवि तत्व का अपना संख्यात्मक पिक्सेल मान होता है। छवि के हल्के तत्व b . के अनुरूप हैं के बारे मेंमैट्रिक्स का बड़ा मान, गहरा - छोटा मान। डिजिटल छवि में कोई अन्य जानकारी नहीं होती है।

@चावल। 1.1.1 द्वि-आयामी तीव्रता मैट्रिक्स के रूप में डिजिटल छवि

मशीन दृष्टि का अध्ययन शुरू करने के लिए, यह स्पष्ट रूप से समझना आवश्यक है कि केवल और विशेष रूप से एक प्रारूप या किसी अन्य की संख्याओं की एक द्वि-आयामी सरणी एक डिजिटल छवि के रूप में कंप्यूटर में संग्रहीत होती है। कोई भी अन्य डेटा जिसे हम छवि से निकालना चाहते हैं (आकृतियाँ, रेखाएँ, वस्तुएँ, आयाम, प्रदर्शित पाठ की सामग्री, आदि, आदि) केवल कई छवि प्रसंस्करण और विश्लेषण प्रक्रियाओं को लागू करने के परिणामस्वरूप प्राप्त किया जा सकता है। कि हमें या तो स्वयं प्रोग्राम करना चाहिए या जाने-माने छवि विश्लेषण सॉफ्टवेयर पैकेजों में उपलब्ध तैयार प्रक्रियाओं का उपयोग करना चाहिए। साथ ही, कंप्यूटर दृष्टि की सरल समस्याओं को हल करने के लिए तैयार धनछवि प्रसंस्करण प्रक्रियाओं के मानक पुस्तकालयों में पाए जाने की संभावना है, अधिक जटिल समस्याओं को हल करने के लिए कुछ तैयार प्रक्रियाओं को जोड़ना आवश्यक होगा, और कई "सामान्य" कार्यों के लिए जो किसी व्यक्ति की "जैविक" दृष्टि, यह ऐसा प्रतीत होता है, आसानी से और आसानी से हल हो जाता है, कंप्यूटर मशीन दृष्टि का अभी भी कोई समाधान नहीं है और अभी भी उनकी तलाश जारी है। आखिरकार, अपनी प्राकृतिक दृष्टि का उपयोग करते हुए, एक व्यक्ति किसी भी वातावरण में आसानी से नेविगेट करता है, वस्तुओं को पहचानता है, एक रास्ता चुनता है, एक कार चलाता है और बहुत कुछ। वीडियो कैमरा से छवि प्राप्त करने वाला कंप्यूटर यह सब क्यों नहीं कर सकता? शायद यह मानव आँख की संरचना है?

वास्तव में, मानव आंख, एक वीडियो कैमरा की तरह, केवल एक "दृश्यमान क्षेत्र" बनाती है, जो एक डिजिटल छवि के समान है। इस मामले में, पुतली और लेंस से युक्त ऑप्टिकल सिस्टम, रेटिना पर एक द्वि-आयामी छवि पेश करता है, जहां प्रकाश संवेदनशील कोशिकाएं ("छड़" और "शंकु") परिणामी छवि को तंत्रिका आवेगों में परिवर्तित करती हैं। और उसके बाद ही, हमारे मस्तिष्क के संबंधित विभाग में प्राप्त जानकारी को संसाधित करने के लिए एक जटिल तंत्र, इन आवेगों को दृश्य दृश्य की एक छवि के रूप में व्याख्या करता है जो हमारे लिए समझ में आता है। इस प्रकार, मनुष्यों में, "दृष्टि" का कार्य न केवल आंख द्वारा किया जाता है, बल्कि सिस्टम "आंख + मस्तिष्क" ("सेंसर + कंप्यूटर") द्वारा किया जाता है। यह मस्तिष्क में निर्मित सूचना प्रसंस्करण एल्गोरिदम है जो किसी व्यक्ति को यह समझने की अनुमति देता है कि वह क्या देखता है। इन बिल्ट-इन एल्गोरिदम की भूमिका को निम्नलिखित उदाहरण द्वारा स्पष्ट किया जा सकता है।

जब 20वीं शताब्दी के मध्य में, नेत्र शल्य चिकित्सकों ने आंख के लेंस पर ऑपरेशन करना सीखा, तो बहुत से लोग जो जन्म से अंधे थे, उनमें स्पष्ट रूप से देखने की तकनीकी क्षमता थी। यही है, एक ऐसे व्यक्ति में इस तरह के ऑपरेशन के बाद जो अब तक अंधा था (प्रकाश बस लेंस से नहीं गुजरता था), रेटिना पर छवि बनने लगी और संबंधित संकेत ठीक उसी तरह मस्तिष्क में प्रवेश करने लगे जैसे कि यह में होता है स्वस्थ लोग. दुर्भाग्य से, इस मामले में, "प्रकाश को देखना" का अर्थ "देखना शुरू करना" नहीं था। जैसा कि बाद के इतिहास में दिखाया गया है, "तकनीकी रूप से प्रबुद्ध" वयस्क रोगियों में से अधिकांश सरल ज्यामितीय आकृतियों की पहचान की तुलना में दृष्टि के क्षेत्र में अधिक महत्वपूर्ण परिणाम प्राप्त करने में सक्षम नहीं हैं - और यहां तक ​​​​कि उनके लिए गंभीर सचेत प्रयास की आवश्यकता है। लोगों को उनके चेहरे से पहचानना और अंतरिक्ष में अभिविन्यास उनके लिए भारी काम रहा। तथ्य यह है कि बचपन में लोगों में विकसित "स्वचालित" दृश्य विश्लेषण के अंतर्निहित तंत्र इन रोगियों में समय पर विकसित नहीं हुए थे, और उन्होंने खुद को एक ऐसे कंप्यूटर की स्थिति में पाया जिसमें एक छवि इनपुट डिवाइस है, लेकिन उसके पास उसके विश्लेषण के लिए आवश्यक सॉफ्टवेयर नहीं है।

एक छवि का विश्लेषण करने के कार्य की जटिलता के बारे में अंततः खुद को समझाने के लिए जो संख्यात्मक डेटा की दो-आयामी सरणी है, हम खुद को एक कंप्यूटर प्रोग्राम के स्थान पर रखने का प्रयास करेंगे जो अमूर्त संख्याओं से संबंधित है। ऐसा करने के लिए, आइए मानसिक रूप से छवि धारणा के तौर-तरीकों को बदलें - हम इसे दृश्य क्षेत्र से स्पर्श क्षेत्र में स्थानांतरित करेंगे। आइए एक बिसात के रूप में तीव्रता के मूल्यों की एक द्वि-आयामी सरणी की कल्पना करें, जिसका आकार छवि के आकार (DimXDimY) के बराबर है, और प्रत्येक सेल के केंद्र में एक स्तंभ अटका हुआ है, जिसकी ऊंचाई संबंधित छवि पिक्सेल के मान के समानुपाती होता है। दूसरे शब्दों में, द्वि-आयामी छवि को एक प्रकार की सशर्त त्रि-आयामी सतह के रूप में मानें। अंजीर पर। 1.1.2 बाईं ओर, एक महिला के चेहरे का एक टुकड़ा एक छवि के रूप में दिखाया गया है, और दाईं ओर एक छद्म त्रि-आयामी राहत के रूप में दिखाया गया है।

@चावल। 1.1.2 छद्म -3 डी राहत के रूप में डिजिटल छवि

अब कल्पना करें कि, छवि को देखे बिना, आपको इसके अनुरूप "राहत" को महसूस करना होगा और यह निर्धारित करने का प्रयास करना होगा कि यह "राहत" वास्तव में क्या दर्शाती है - एक घर, एक कुत्ता या एक मानव आंख? जैसा कि प्रयोग दिखाते हैं, औसत व्यक्ति ऐसे कार्य का सामना करने में सक्षम नहीं है। यहां तक ​​​​कि इस तरह के "राहत" प्रतिनिधित्व में सबसे सरल ज्यामितीय आकृतियों की मान्यता महत्वपूर्ण प्रयासों से जुड़ी होगी और इसके लिए एक विशेष कौशल, रणनीति और तालमेल एल्गोरिदम के सचेत विकास की आवश्यकता होगी। इस तरह, "डिजिटल छवि" वस्तु की स्पष्ट सादगी के बावजूद, कंप्यूटर और मशीन दृष्टि कार्यों की वास्तविक जटिलता है।