2010-09-07 9 views
6

मुझे ऐसे सॉफ़्टवेयर को विकसित करने की आवश्यकता है जो एक फोटो से चेहरे का चयन करे जहां पृष्ठभूमि एक सादा रंग (हरा, फिल्मों की तरह) है।मैं प्रोग्राम की पृष्ठभूमि की पृष्ठभूमि का पता कैसे लगा सकता हूं?

फिर हम उस चयन को किसी अन्य पृष्ठभूमि छवि के साथ लिखना चाहते हैं, यह हिस्सा कई पुस्तकालयों के साथ आसान है। लेकिन मुझे नहीं पता कि मैं चयन कैसे कर सकता हूं? क्या आप जांच के लिए कुछ लिंक या पुस्तकालय दे सकते हैं? मैं इस परियोजना को अपने चयन की किसी भी भाषा के साथ कर सकता हूं, इसलिए किसी भी भाषा में उदाहरण या लिंक का स्वागत है।

+0

संकल्पनात्मक रूप से यह वास्तव में बहुत आसान है - केवल हरे रंग की पृष्ठभूमि पिक्सेल को 0 अल्फा मान में परिवर्तित करें, और छवि को पृष्ठभूमि छवि whereever पर खींचें। व्यवहार में यह सीमा के किनारों के चारों ओर थोड़ा मुश्किल हो सकता है। क्या आप उस तकनीक के बारे में कुछ और बता सकते हैं जिसका आप उपयोग कर रहे हैं? यानी, यह खिड़कियां, सी ++, आदि – GrandmasterB

+0

ग्रैंडमास्टर बी, आपके उत्तर के लिए धन्यवाद। मैं विंडोज़ में किसी भी भाषा या प्लेटफार्म का उपयोग कर सकता हूं, मैं जावा या सी # का उपयोग सोच रहा था। क्या आप एक लिंक या उदाहरण साझा कर सकते हैं? मैं कुछ शोध करना चाहता हूं लेकिन मुझे Google में बहुत अधिक जानकारी नहीं मिल रही है। – Castro

उत्तर

2

ठीक है, आप जो करने की कोशिश कर रहे हैं उसे क्रोमा कुंजी कहा जाता है। जैसा कि आप कहते हैं, यह नीली/हरे रंग की स्क्रीन वाली फिल्मों में बहुत कुछ उपयोग करता था। विंडोज़ पर यह वास्तव में बहुत आसान है क्योंकि यह जीडीआई + (या सी # पर, विंडोज़ के हिस्से के रूप में विंडोज़ में बनाया गया है, मुझे लगता है कि इसे सिर्फ ग्राफिक्स क्लास कहा जाता है)।

मैं काम किसी भी नमूना कोड है नहीं है, लेकिन प्रक्रिया बहुत सीधे आगे है:

साथ GDI +

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

कोड में इसके लिए और भी कुछ है, लेकिन अवधारणा के अनुसार यह सब कुछ है।

1

यह शायद ऐसा क्षेत्र है जहां आरजीबी की तुलना में किसी अन्य स्थान पर काम करना आसान है - जैसे एचएसवी।

मैं ओपनसीवी लाइब्रेरी को भी देखूंगा।

संबंधित मुद्दे