2011-02-09 17 views
9

मैं वर्तमान में आरजीबी (लाल, हरा, नीला) रंग स्थान और आरवाईबी (लाल, पीला, नीला) रंग स्थान और फिर से वापस रंगों को बदलने की कोशिश कर रहा हूं।आरजीबी और आरवाईबी रंग रिक्त स्थान के बीच रूपांतरण

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

Paint Inspired Color Mixing and Compositing for Visualisation - Gossett and Chen - धारा 2.1 - बोध विवरण

मेरे कठिनाइयों रूपांतरण प्रक्रिया reversing में कर रहे हैं।

एक दूसरा पेपर इस तकनीक के उपयोग का संदर्भ देता है और यह भी इंगित करता है कि न्यूटन के विधि का उपयोग कर रिवर्स रूपांतरण प्राप्त किया गया था। लेकिन कोई और विवरण नहीं प्रदान करता है। यह शायद trilinear इंटरपोलेशन समीकरणों को हल करने में रूट खोज इंगित करेगा।

On the Transfer of Painting Style to Photographic Images through Attention to Colour Contrast - Xiaoyan Zhang; Constable, M.; Ying He;

इससे पहले कि मैं समीकरणों के साथ इस सवाल पर विस्तार, किसी को भी देखा है या इस तरह के रूप में जावा/C/C++/सी # एक भाषा में इस को हल किया है?

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

मैं समीकरण प्रदान करने के लिए जल्द ही इस प्रश्न को संपादित करूंगा।

आपके समय के लिए बहुत धन्यवाद,

बेन

+0

क्या आपने mathoverflow.com को आजमाया है? – sje397

+0

@ sje397: मैंने mathoverflow.com पर एक नज़र डाली है, लेकिन ट्रिलिनर इंटरपोलेशन या इसकी रिवर्स प्रक्रिया के बारे में कुछ भी नहीं देख सकता है। - बस एहसास हुआ कि आप वहां सवाल पूछने का भी प्रयास कर सकते हैं। – Ben

+0

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

उत्तर

3

मैं अंत में इसे हल करने में कामयाब रहे। पिछले में पहला समीकरणों wikipedia

स्थानापन्न, विस्तार और के लिए गुणांक इकट्ठा:

एक तीन-रैखिक प्रक्षेप के लिए समीकरण लो Xd, Yd, Zd, XdYd, XdZd, YdZd, ZdYdZd और लगातार।

फिर Xd, Yd और Zd के संबंध में प्रत्येक 3 आयामों में समीकरण का आंशिक भिन्नता पाएं। (3x3) जैकोबियन मैट्रिक्स को पॉप्युलेट करने के लिए इन नए समीकरणों का उपयोग करें और फिर सॉफ़्टवेयर में हल करने के लिए न्यूटन की विधि का उपयोग करें।

Newton-Raphson Method

+0

@SinopSys टूटी हुई लिंक को ठीक करने के लिए संपादन के लिए धन्यवाद। – Ben

2

यहाँ UIColor पर एक वर्ग है कि एक ही बात करता है, आरजीबी, RYB, और सीएमवाइके के बीच तत्वों लौटने है। इसके अलावा, आप संबंधित रंग स्थान में किसी भी रंग को मिश्रित कर सकते हैं (वे अलग-अलग मिश्रण करते हैं, बेशक, निर्भर करते हैं)।

https://github.com/ddelruss/UIColor-Mixing

का आनंद लें,

डेमियन

1

मैं घन splines के आधार पर RYB-> आरजीबी रूपांतरण के this JavaScript implementation पाया।यहां मेरा लुआ पोर्ट है (सभी मान अंतराल 0-1 में हैं):

local ryb2rgb = function(R, Y, B) 
    local R, Y, B = R*R*(3-R-R), Y*Y*(3-Y-Y), B*B*(3-B-B) 
    return 1.0 + B * (R * (0.337 + Y * -0.137) + (-0.837 + Y * -0.163)), 
    1.0 + B * (-0.627 + Y * 0.287) + R * (-1.0 + Y * (0.5 + B * -0.693) - B * (-0.627)), 
    1.0 + B * (-0.4 + Y * 0.6) - Y + R * (-1.0 + B * (0.9 + Y * -1.1) + Y) 
end 
+0

जैसा कि उन्होंने कहा, समस्या उलटा, आरजीबी -> आरईबी –

+0

http://nishitalab.org/user/UEI/publication/Sugita_IWAIT2015.pdf http://nishitalab.org/user/UEI/publication/Sugita_SIG2015 कर रही है। पीडीएफ – Krzycho

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