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

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

आखिरकार, आपका कंप्यूटर एक विशेष प्रारूप का उपयोग करके आपके स्क्रीन पर दिखाई देने वाले सभी अलग-अलग रंगों को एन्कोड करता है। पायथन के साथ, आप OpenCV और NumPy मॉड्यूल के लिए धन्यवाद कोड की कुछ पंक्तियों में एक RGB-एन्कोडेड रंग पैलेट विकसित कर सकते हैं।

OpenCV और NumPy मॉड्यूल

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

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

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

NumPy को अपने वातावरण में स्थापित करने के लिए, निष्पादित करें:

पिप स्थापित numpy

आम तौर पर, आप एज डिटेक्शन जैसी तकनीकों का उपयोग करके छवियों को संसाधित करने के लिए OpenCV का उपयोग करेंगे। फिर आप संसाधित छवि पर डेटा विश्लेषण करने के लिए NumPy का उपयोग कर सकते हैं। इस कॉम्बिनेशन का इस्तेमाल आप कर सकते हैं क्यूआर कोड बनाएं और डिकोड करें, छवियों को वर्गीकृत करें, ऑप्टिकल कैरेक्टर रिकग्निशन करें, और वीडियो सर्विलांस सिस्टम बनाएं जो गति का पता लगा सकते हैं और वास्तविक समय में व्यक्तियों को ट्रैक कर सकते हैं।

पायथन का उपयोग करके कलर पैलेट कैसे बनाएं

पायथन में OpenCV और NumPy मॉड्यूल का उपयोग करके कलर पैलेट बनाने के लिए इन चरणों का पालन करें।

आप इसमें Python का उपयोग करके कलर पैलेट का स्रोत पा सकते हैं GitHub भंडार।

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

आयात cv2
आयात Numpy जैसा एनपी

डीईएफ़emptyFunction():
उत्तीर्ण

NumPy's का उपयोग करके uint8 के डेटा प्रकार के साथ आकार 512 * 512 * 3 का त्रि-आयामी सरणी उत्पन्न करें शून्य() समारोह। प्रत्येक सरणी में 512 कॉलम और 512 पंक्तियाँ होंगी। uint8 एक अहस्ताक्षरित पूर्णांक संख्या का प्रतिनिधित्व करता है, इसलिए कार्यक्रम शून्य से सरणी भरता है।

छवि = np.शून्य ((512, 512, 3), एनपी.यूइंट8)

प्रोग्राम द्वारा प्रदर्शित की जाने वाली विंडो का नाम सेट करें और उसे पास करें नाम विन्डो () विंडो बनाने का कार्य:

विंडोनाम = "ओपनसीवी कलर पैलेट"
cv2.namedWindow (windowName)

अगला, लाल, हरे और नीले रंग के घटकों के लिए तीन ट्रैक बार उत्पन्न करें। आप OpenCV's का उपयोग करके ऐसा कर सकते हैं क्रिएटट्रैकबार () समारोह। सबसे पहले, लेबल को लाल, नीला या हरा पास करें। दूसरे, आपको उस विंडो का नाम देना होगा जहां आप इन बारों को रखना चाहते हैं, उदाहरण के लिए, windowName.

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

cv2.createTrackbar ('नीला', विंडोनाम, 0, 255, खालीफंक्शन)
cv2.createTrackbar ('हरा', विंडोनाम, 0, 255, खालीफंक्शन)
cv2.createTrackbar ('लाल', विंडोनाम, 0, 255, खालीफंक्शन)

लूप के दौरान अनंत की घोषणा करें और उस छवि के साथ विंडो का नाम पास करें जिसे आप OpenCV में प्रदर्शित करना चाहते हैं इम्शो () समारोह। जैसा कि छवि में शून्य की त्रि-आयामी सरणी होती है, प्रोग्राम प्रारंभ में एक ब्लैक स्क्रीन प्रदर्शित करता है।

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

ट्रैक बार की वर्तमान स्थिति प्राप्त करने के लिए, विंडो के नाम के साथ ट्रैक बार का नाम पास करें getTrackbarPos (). तीन अलग-अलग रंग घटकों, नीला, हरा और लाल के लिए इस चरण को दोहराएं। छवि सरणी में तीन मान निर्दिष्ट करने के लिए स्लाइस ऑपरेटर का उपयोग करें। यह ट्रैक बार की स्थिति के अनुसार मौजूदा मानों के साथ, मानों के पिछले सेट को बदल देगा, प्रारंभ में सभी शून्य।

जबकि (सत्य):
cv2.imshow (विंडोनाम, छवि)

अगर cv2.waitKey (1) == 27:
तोड़ना

नीला = cv2.getTrackbarPos ('नीला', विंडोनाम)
हरा = cv2.getTrackbarPos ('हरा', विंडोनाम)
लाल = cv2.getTrackbarPos ('लाल', विंडोनाम)
छवि [:] = [नीला, हरा, लाल]
प्रिंट (नीला, हरा, लाल)

एक बार जब उपयोगकर्ता एस्केप कुंजी दबाता है, तो उपयोग करें नष्ट AllWindows () विंडोज़ बंद करने के लिए प्रोग्राम खोला गया:

cv2.destroyAllWindows ()

अंत में, इसे एक साथ रखें और इसे अपने रंग पैलेट को नियंत्रित करने और देखने के लिए चलाएं।

पायथन कलर पैलेट प्रोग्राम का आउटपुट

ऊपर दिए गए प्रोग्राम को चलाने पर, एक विंडो दिखाई देती है जिसमें नीले, हरे और लाल रंगों के लिए तीन ट्रैक बार होते हैं। ट्रैक बार 0 से 255 की सीमा से चलते हैं। जब आप अलग-अलग बार के मानों में बदलाव करते हैं, तो आपको नीचे दिए गए सेक्शन में रंगों के अलग-अलग शेड दिखाई देने चाहिए।

इस पहले उदाहरण में, आप ब्लू बार की सेटिंग को 0, ग्रीन को 69 और रेड को 255 के रूप में देख सकते हैं। परिणामी आउटपुट रंग नारंगी/लाल रंग की छाया है। इसके अलावा, टर्मिनल विंडो रंग मानों को 0 69 255 के रूप में प्रदर्शित करती है।

इसी तरह, जब आप नीले बार को 130, हरे को 0 और लाल को 75 के रूप में सेट करते हैं, तो आपको एक इंडिगो रंग प्राप्त होगा।

OpenCV के विभिन्न अनुप्रयोग

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

कंप्यूटर दृष्टि का भविष्य आशाजनक है। आप नेत्रहीनों की मदद करने, कृषि में बेहतर विकास करने, सेल्फ ड्राइविंग कारों का उपयोग करके सड़क सुरक्षा बढ़ाने और यहां तक ​​कि मंगल जैसे अन्य ग्रहों को नेविगेट करने में मदद करने के लिए कंप्यूटर दृष्टि का उपयोग करने में सक्षम होंगे।