मैं देख रहा हूँ कि एचएसवी रंग का स्थान सभी जगह उपयोग किया जाता है: ट्रैकिंग, मानव पहचान, आदि के लिए ... मैं सोच रहा हूँ, क्यों? यह इस रंग स्थान के बारे में क्या है जो इसे RGB उपयोग करने से बेहतर बनाता है?
मैं देख रहा हूँ कि एचएसवी रंग का स्थान सभी जगह उपयोग किया जाता है: ट्रैकिंग, मानव पहचान, आदि के लिए ... मैं सोच रहा हूँ, क्यों? यह इस रंग स्थान के बारे में क्या है जो इसे RGB उपयोग करने से बेहतर बनाता है?
जवाबों:
सरल जवाब है कि विपरीत है आरजीबी , एचएसवी अलग करती है लुमा , या छवि तीव्रता, से क्रोमा या रंग जानकारी। यह कई अनुप्रयोगों में बहुत उपयोगी है। उदाहरण के लिए, यदि आप किसी रंग की छवि के हिस्टोग्राम समीकरण को करना चाहते हैं, तो आप संभवतः ऐसा केवल तीव्रता वाले घटक पर करना चाहते हैं, और रंग के घटकों को अकेला छोड़ देते हैं। अन्यथा आपको बहुत अजीब रंग मिलेंगे।
कंप्यूटर विज़न में आप अक्सर विभिन्न कारणों से रंग घटकों को तीव्रता से अलग करना चाहते हैं, जैसे कि प्रकाश परिवर्तन में मजबूती, या छाया को हटाना।
ध्यान दें, हालांकि, एचएसवी कई रंग स्थानों में से एक है जो तीव्रता से रंग को अलग करता है (वाईसीबीसी, लैब, आदि देखें)। एचएसवी का उपयोग अक्सर केवल इसलिए किया जाता है क्योंकि आरजीबी और एचएसवी के बीच रूपांतरण के लिए कोड व्यापक रूप से उपलब्ध है और इसे आसानी से लागू भी किया जा सकता है। उदाहरण के लिए, MATLAB के लिए इमेज प्रोसेसिंग टूलबॉक्स में फ़ंक्शन rgb2hsv
और शामिल हैं hsv2rgb
।
रंग की जानकारी आमतौर पर एचएसवी सूचना की तुलना में बहुत अधिक शोर है।
मुझे आपको एक उदाहरण देना चाहिए: मैं और कुछ दोस्त वास्तविक दृश्य वीडियो (शोर, छाया और कभी-कभी मौजूद रोड़ा) में ट्रैफ़िक संकेतों की मान्यता से संबंधित एक परियोजना में शामिल थे। यह एक बड़ी परियोजना का एक हिस्सा था, जिससे हमें इस विशेष समस्या (और पुराने दृष्टिकोणों को फिर से उपयोग करने) के विभिन्न तरीकों की कोशिश करने का समय मिल गया। मैंने स्वयं रंग-आधारित दृष्टिकोण की कोशिश नहीं की, लेकिन मुझे एक दिलचस्प जानकारी याद है: _ STOP साइन में प्रमुख RGB घटक अक्सर लाल नहीं होता था! (ज्यादातर छाया के कारण)
आप आमतौर पर एचएसवी कलरस्पेस से बेहतर जानकारी प्राप्त कर सकते हैं । मुझे फिर से कोशिश करने और एक व्यक्तिगत अनुभव उदाहरण देने की कोशिश करें: कल्पना करने की कोशिश करें कि आपके पास एक छाया के साथ एकल-रंग के विमान की एक छवि है। आरजीबी कलरस्पेस में, छाया वाले भाग में छाया के बिना भाग की तुलना में बहुत अलग विशेषताओं की संभावना होगी। एचएसवी कलरस्पेस में, दोनों पैच के ह्यू घटक समान होने की अधिक संभावना है: छाया मुख्य रूप से मूल्य , या शायद संतृप्ति घटक को प्रभावित करेगा , जबकि ह्यू , प्राथमिक "रंग" का संकेत देता है (बिना यह चमक और सफेद द्वारा पतला-नेस है। / काला) इतना नहीं बदलना चाहिए।
यदि यह स्पष्टीकरण आपको सहज नहीं लगता है, तो मैं सुझाव देता हूं:
कोशिश करते हैं और देखते हैं कारणों क्यों रंग प्रतिनिधित्व के इन प्रकार के लिए विकसित किए गए: यह रंग के मानवीय व्याख्या के कुछ दृश्य पर आधारित किसी तरह से हमेशा होता है,
उदाहरण के लिए, बच्चे वास्तव में अत्यधिक रंगीन == मूल्यवान वस्तुओं को पसंद नहीं करते हैं, वे अत्यधिक संतृप्त वस्तुओं को पसंद करते हैं, जिन वस्तुओं में रंग तीव्र और गैर-पतला होता है
जब आप इसे प्राप्त करते हैं और कुछ अंतर्ज्ञान विकसित करते हैं, तो आपको छवियों के साथ खेलना चाहिए: अपने RGB और HSV घटकों में विभिन्न छवियों को विघटित करने का प्रयास करें
आपका लक्ष्य उन छवियों के लिए इन डिकम्पोज़िशन में अंतर देखना और समझना होगा , जिनमें छाया, मजबूत रोशनी, प्रकाश प्रतिबिंब शामिल हैं।
यदि आपके पास एक विशेष प्रकार की छवियां हैं, जिन्हें आप खेलना पसंद करते हैं, तो उन्हें विघटित करने का प्रयास करें: कौन जानता है, शायद RGB वास्तव में HSV की तुलना में आपकी आवश्यकताओं के लिए अधिक अनुकूल है :)
केवल ह्यू घटक का उपयोग करने से एल्गोरिथ्म कम संवेदनशील हो जाता है (यदि अपरिवर्तित नहीं है) प्रकाश भिन्नता।
एक अन्य लोकप्रिय विकल्प LAB रंग स्थान है, जहां AB चैनल एबी अंतरिक्ष में रंग और यूक्लिडियन दूरियों का प्रतिनिधित्व करते हैं, रंग की मानवीय धारणा से बेहतर मेल खाते हैं। फिर से, L चैनल (Luminance) की अनदेखी करने से एल्गोरिथ्म प्रकाश व्यवस्था के अंतर को और अधिक मजबूत बनाता है।
सबसे अच्छा जवाब जो मैं समझ सकता हूं: आरजीबी को "कार्यान्वयन विवरण" के साथ करना है जिस तरह से आरजीबी रंग प्रदर्शित करता है, और एचएसवी को "वास्तविक रंग" घटकों के साथ करना है। यह कहने का एक और तरीका आरजीबी होगा, जिस तरह से कंप्यूटर रंग का इलाज करते हैं, और एचएसवी जिस तरह से हम मनुष्यों को रंग का अनुभव करते हैं उसके घटकों को पकड़ने की कोशिश करते हैं ।
मैं विस्तृत हूँ:
रंग विद्युत चुम्बकीय तरंगों पर आधारित एक धारणा है। इन तरंगों के प्राकृतिक गुण हैं, उदाहरण के लिए तीव्रता और आवृत्ति। यदि हम इन्फ्रा-रेड से अल्ट्रा-वायलेट तक एक लाइटवॉव की आवृत्ति को स्वीप करते हैं, तो हम नेत्रहीन इंद्रधनुष रंगों के साथ एक रंग भिन्नता का अनुभव करेंगे। इंद्रधनुष के रंगों को "शुद्ध रंग" माना जा सकता है क्योंकि वे एकल-आवृत्ति तरंगों द्वारा दर्शाए जाते हैं।
अब मानव आंख केवल तीन मुख्य प्रकाश आवृत्तियों पर प्रतिक्रिया कर सकती है, या "प्रतिध्वनित" कर सकती है, आश्चर्यजनक रूप से लाल, हरे और नीले नहीं। तथ्य यह है कि यह प्रतिक्रिया गैर-रैखिक है, इसलिए रेटिना तीन रंगों के घटकों की संयुक्त प्रतिक्रिया से किसी दिए गए शुद्ध रंग (और इसके "आवृत्ति") को अलग कर सकता है ।
RGB रंग की जगह हमारे रेटिना के आंतरिक कामकाज की नकल करने के लिए ही मौजूद है, ताकि एक सुविधाजनक (कंप्यूटर के दृष्टिकोण से) 24 बिट्स-पिक्सेल रंग के कंप्यूटर के विशाल रंगों को कंप्यूटर डिस्प्ले पर दर्शाया जा सके। कोडिंग। आरजीबी रंग अंतरिक्ष का प्राकृतिक रंग गुणों से कोई आंतरिक संबंध नहीं है, न ही रंग की मानव व्याख्या के लिए।
उदाहरण के लिए, किसी भी अंकगणितीय ऑपरेशन ने आरजीबी अंतरिक्ष में चैनल-वार प्रदर्शन किया (उदाहरण के लिए, रंग ग्रेडिएंट की पीढ़ी) बहुत कच्चे या यहां तक कि स्पष्ट रूप से "गलत" परिणाम देता है। इसलिए आरजीबी से अन्य रंग स्थानों (एचएलएस, लैब, आदि) में रंग के ठहराव को परिवर्तित करके कॉलर्मैप्स बनाने की सलाह दी जाती है, जो प्रक्षेपों को प्रदर्शित करता है, फिर इंटरपोलित मूल्यों को आरजीबी में परिवर्तित करता है।
उम्मीद है की यह मदद करेगा!
एचएसवी का मतलब ह्यू-सैचुरेशन-वैल्यू है। यह वास्तव में एक प्रकार का रंगीन विमान प्रतिनिधित्व (जैसे RGB, YCbCr आदि) है।
यह एक उपकरण स्वतंत्र रंग प्रतिनिधित्व प्रारूप है: एचएसवी रंग प्रतिनिधित्व विशिष्ट रंग प्रकारों का पता लगाने के लिए उपयोगी है, जैसे: त्वचा का रंग, आग का रंग आदि।
Matlab
आरजीबी छवि को एचएसवी विमान में बदलने का कार्य है rgb2hsv('/inputimage_name')
।
मैं आपको समझने के लिए एक उदाहरण दूंगा। जैसे हमारे हाथ में कई भाग हैं हथेली, पीछे की हथेली और उसके नीचे। हम इन क्षेत्रों में अलग-अलग रंग भिन्नता देख सकते हैं, लेकिन इन सभी क्षेत्रों के लिए रंग बहुत भिन्न नहीं होते हैं, इसलिए रंग मूल्य हाथ के विभाजन में उपयोगी हो सकते हैं।
ऐसा कुछ भी नहीं है जो मुझे पता है कि YUV या LAB की तुलना में HSV के साथ विशेष रूप से बेहतर है जो कि सुविधा निष्कर्षण और रोशनी के लिए बेहतर होगा या दृश्य या दृश्य। मुझे लगता है कि एचएसवी एक आम तौर पर कन्वेंशन और निरंतरता के कारण अधिक उपयोग किया जाता है: परिणाम की तुलना करना और एक दूसरे के साथ संवाद करना आसान है यदि आप दोनों एक ही रंग स्थान का उपयोग करते हैं।
उस ने कहा, एचएसवी (आरजीबी के विपरीत) का उपयोग कंप्यूटर विज़न में 2 कारणों से किया जाता है जो मुझे पता है:
जैसा कि दूसरों ने उल्लेख किया है, लूमा को क्रोमा से अलग करना फायदेमंद है। दृश्य में वस्तु पर पड़ने वाली प्रकाश की मात्रा के आधार पर लूमा बहुत भिन्न होता है। दूसरी ओर, Chroma, वस्तु के आंतरिक गुणों के साथ बेहतर संबंध रखता है, और ठीक से सफेद-संतुलित छवियों के लिए अधिक-या-कम अपरिवर्तनीय है।
हालांकि, मैं जोड़ना चाहूंगा कि एचएसवी, एचएसएल, या वास्तव में क्रोमा प्लेन के ध्रुवीय पैरामीरिजेशन के साथ किसी भी रंग की जगह, उस उद्देश्य के लिए खराब विकल्प हैं। ऐसा इसलिए है क्योंकि वे ग्रेस की लाइन पर एक विलक्षणता का परिचय देते हैं (जो ह्यू ग्रे है?), उन्हें शोर और सफेद-संतुलन के प्रति बहुत संवेदनशील बनाते हैं। इसके अतिरिक्त एक ध्रुवीय समन्वय प्रणाली में दो रंगों के बीच तुलना करना सीधे आगे की बात नहीं है। यह भी ध्यान दें कि एचएसएल में न तो मूल्य और न ही एचएसएल में हल्कापन मानव कथित हल्कापन या ऊर्जा के किसी अन्य भौतिक माप के अनुरूप है।
वहाँ रैखिक रंग रिक्त स्थान के बहुत सारे हैं जो एक ही luma-chroma जुदाई दे जबकि रैखिकता (YCbCr, YUV) या मॉडल मानव दृष्टि को ठीक से (LUV, LAB) मॉडल को संरक्षित करते हैं। उन लोगों के साथ आप उनकी गुणसूत्रों पर यूक्लिडियन L2 मानदंड का उपयोग करके दो रंगों की तुलना कर सकते हैं, जिसके परिणामस्वरूप समग्र रूप से अधिक मजबूत एल्गोरिथ्म हो सकता है।
HSV / HSL का उपयोग इतनी बार क्यों किया जाता है? एक वस्तुनिष्ठ उत्तर देने के लिए कठिन। मेरे अनुभव से यह ज्यादातर अज्ञानता और RGB-> HSV रूपांतरण रूटीन की उपलब्धता के कारण है। उस कोड के साथ काम करना था जिसके लेखक गामा-सुधार को नहीं समझते थे, अकेले ही अलग-अलग रंग-स्थान बनाते हैं। सीन कोड जिसने RGB को HSV में बदल दिया, फिर ह्यू के आधार पर छवि को खंडित किया, इस तथ्य की उपेक्षा करते हुए कि यह एक मॉड्यूलर मात्रा है। मुझे लगता है कि हम सहमत हो सकते हैं कि वे किसी भी कारण से समर्थित सचेत निर्णय नहीं थे।