आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

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

जबकि एक यांत्रिक स्केच बिल्कुल आपकी खुद की पेंसिल ड्राइंग जैसा नहीं दिखेगा, फिर भी आउटपुट प्रयोग करने लायक है। सुपर-फ्रेंडली पायथन भाषा में OpenCV मॉड्यूल का उपयोग करके इस तरह के ऐप को प्रोग्राम करना सीखें।

ओपनसीवी मॉड्यूल

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

के कुछ लोकप्रिय अनुप्रयोग OpenCV में फेस डिटेक्शन शामिल है

instagram viewer
छायांकन में स्वचालित चेहरा ट्रैकिंग, सोशल मीडिया फ़िल्टर, कार लाइसेंस प्लेट पहचान, और सीसीटीवी निगरानी। पायथन में OpenCV मॉड्यूल का उपयोग करने के लिए, अपना टर्मिनल खोलें और निम्न कमांड टाइप करें:

पाइप ओपनसीवी-पायथन स्थापित करें

पायथन का उपयोग करके किसी भी छवि को स्केच में कैसे बदलें

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

यह उदाहरण कोड a में उपलब्ध है गिटहब रिपॉजिटरी और आपके लिए एमआईटी लाइसेंस के तहत उपयोग करने के लिए स्वतंत्र है।

पहला कदम OpenCV मॉड्यूल को अपने वातावरण में आयात करना है। OpenCV उपलब्ध होने के बाद, आप इसकी कार्यक्षमता का उपयोग विभिन्न कार्यों को करने के लिए कर सकते हैं। में अपनी छवि फ़ाइल का पथ पास करें इमरेड () इसे लोड करने का कार्य करें। अपनी इमेज को एक वेरिएबल में स्टोर करें—जिसे कहा जाता है image1 यहाँ - भविष्य के संदर्भ के लिए।

नाम के एक चर में विंडो का शीर्षक संग्रहीत करें window_name. यह तब उपयोगी होगा जब आप का उपयोग करके छवि प्रदर्शित करना चुनते हैं इम्शो () समारोह। इस फ़ंक्शन के लिए दो पैरामीटर की आवश्यकता होती है: शीर्षक और छवि जिसे आप प्रदर्शित करना चाहते हैं।

आयात cv2

इमेज1 = सीवी2.इमरीड ('इमेज.जेपीजी')
विंडो_नाम = 'वास्तविक छवि'
cv2.imshow (window_name, image1)

एक बार आपके पास वांछित छवि होने के बाद, आपको इसे स्केच में बदलने के लिए पांच ऑपरेशन करने होंगे। सबसे पहले, कलर इमेज को ग्रेस्केल में कन्वर्ट करें। आप के साथ ऐसा कर सकते हैं सीवीटी रंग () समारोह। यह फ़ंक्शन उस छवि को लेता है जिसका रंग आप बदलना चाहते हैं और एक रूपांतरण कोड जैसे COLOR_BGR2ग्रे.

ग्रे_आईएमजी = सीवी2.सीवीटीरंग (इमेज1, सीवी2.COLOR_BGR2GRAY)

एक बार जब आपके पास एक ग्रेस्केल छवि हो, तो इसके रंगों को उल्टा कर दें। इस बिंदु पर, आपको यह समझने की आवश्यकता है कि कंप्यूटर एक छवि कैसे बनाता है। एक छवि में अलग-अलग तीव्रता वाले कई छोटे पिक्सेल होते हैं। एक रंगीन छवि में, प्रत्येक पिक्सेल में लाल, हरे और नीले रंग के घटक होते हैं, प्रत्येक की तीव्रता 0 से 255 के बीच होती है।

ग्रेस्केल इमेज में, केवल ग्रे के शेड्स होते हैं, इसलिए पिक्सेल की तीव्रता 0 और 1 के बीच भिन्न होती है। इस छवि की पिक्सेल तीव्रता को उलटने के लिए, ग्रेस्केल छवि को पास करें बिटवाइज़_नॉट () समारोह।

जैसा कि नाम से पता चलता है, यह फ़ंक्शन प्रत्येक पिक्सेल के मान को उसके पूरक समकक्ष में बदल देता है। 0 से बड़े सभी पिक्सेल 0 पर सेट होते हैं, और 0 के बराबर सभी पिक्सेल 255 पर सेट होते हैं।

उलटा = cv2.bitwise_not (ग्रे_आईएमजी)

पिक्सेल इंटेंसिटी को इन्वर्ट करने के बाद, आप गॉसियन ब्लर की मदद से इमेज को स्मूथ कर सकते हैं। गॉसियन ब्लर प्रक्रिया गॉसियन फ़िल्टर का उपयोग करती है। एक गॉसियन फ़िल्टर एक निम्न-पास फ़िल्टर है जो सिग्नल या छवि के उच्च-आवृत्ति घटक को हटाकर केवल निम्न आवृत्तियों को पारित करने की अनुमति देता है।

ओपनसीवी गौस्सियन धुंधलापन() फ़ंक्शन चार पैरामीटर स्वीकार करता है। ये एक मैट्रिक्स ऑब्जेक्ट हैं जो स्रोत छवि, ksize (कर्नेल का आकार), और sigmaX (गॉसियन कर्नेल मानक विचलन) के रूप में कार्य करता है।

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

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

उल्टे छवि को पास करें, कर्नेल आकार (21, 21) और गॉसियन ब्लर फ़ंक्शन के लिए 0 मानक विचलन:

ब्लर = सीवी2. गॉसियनब्लर (इनवर्ट, (21, 21), 0)

धुंधली छवि को फिर से उलटने के लिए बिटवाइज़_नॉट () फ़ंक्शन पर पास करें:

उलटा धुंधला = cv2.bitwise_not (धुंधला)

अंत में, का प्रयोग करें विभाजित करना() फ़ंक्शन और ग्रेस्केल छवि सरणी के प्रति-तत्व विभाजन और 256 के पैमाने के साथ उल्टे धुंधले छवि सरणी को निष्पादित करने के लिए।

स्केच = सीवी2.डिवाइड (ग्रे_आईएमजी, इनवर्टेडब्लर, स्केल=256.0)

अनिवार्य रूप से फ़ंक्शन निम्नलिखित ऑपरेशन करता है:

डीईएफ़विभाजित करना(ग्रे_आईएमजी, बी, इनवर्टेडब्लर =256.0):
वापस करना (ग्रे_आईएमजी * स्केल) / इनवर्टेडब्लर

परिणाम को स्केच नामक चर में संग्रहीत करें। अंतिम छवि को सहेजने के लिए, अपनी आउटपुट फ़ाइल के लिए एक नाम और स्केच छवि को पास करें इम्राइट () समारोह। इसे सत्यापित करने के लिए, आप सहेजी गई स्केच छवि को लोड करने के लिए इम्रेड () फ़ंक्शन का उपयोग कर सकते हैं, एक विंडो शीर्षक दे सकते हैं और इसे इम्शो () फ़ंक्शन का उपयोग करके प्रदर्शित कर सकते हैं।

उपयोग वेटकी () जब तक आप कोई कुंजी दबाते हैं तब तक मूल छवि विंडो और जेनरेट की गई स्केच विंडो प्रदर्शित करने के लिए 0 पास करके कार्य करें।

cv2.imwrite ("स्केच.जेपीईजी", स्केच)
छवि = cv2.imread ("स्केच.जेपीईजी")
विंडो_नाम ='स्केच छवि'
cv2.imshow (window_name, छवि)
cv2.waitKey (0)

सभी कोड एक साथ लाएं, और आपका प्रोग्राम तैयार है।

इस पायथन प्रोग्राम का उपयोग करके एक छवि को एक स्केच में परिवर्तित करने का नमूना आउटपुट

आप एक सुंदर परिदृश्य छवि चुन सकते हैं और इस आश्चर्यजनक डिजिटल स्केच को उत्पन्न करने के लिए इसे कार्यक्रम के माध्यम से चला सकते हैं।

पोर्ट्रेट इमेज पर, प्रोग्राम निम्नलिखित डिजिटल स्केच बनाता है।

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

इमेज प्रोसेसिंग और कंप्यूटर विजन

इमेज प्रोसेसिंग और कंप्यूटर विजन प्रौद्योगिकी के दो निकट से संबंधित क्षेत्र हैं। वे दोनों वांछित परिणाम प्राप्त करने के लिए डिजिटल छवियों को बदलना शामिल करते हैं। इमेज प्रोसेसिंग एक तस्वीर को बेहतर बनाने पर केंद्रित है, जबकि कंप्यूटर दृष्टि इसे समझने के लिए छवि के भीतर पैटर्न और वस्तुओं को ढूंढती है।

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