बाइनरी बाइट के रूप में संख्या 124 (आठ अंक) 01111100 है। तीन बाइट्स के एक आरजीबी ट्रिपल का प्रतिनिधित्व करने के लिए तीन बार आठ या 24, ऐसे बिट्स की आवश्यकता होगी। डिफ़ॉल्ट रूप से, r.composite
यह प्रत्येक बैंड में कम से कम महत्वपूर्ण बिट्स को त्यागकर इसे केवल 15 बिट्स तक कम कर देता है। इस प्रकार, यह 01111100 से 01111 तक होता है, जो कि 15. है (समान रूप से, यह 124 को 8 से विभाजित करता है और शेष को अनदेखा करता है।) जाहिर है ये तीन पांच-बिट परिणाम क्रम बी, जी, आर में 15-बिट संख्या बनाने के लिए समवर्ती होते हैं। (0 और 2 ^ 15-1 = 32767 के बीच मूल्यों का प्रतिनिधित्व करते हुए, जो रंग तालिका को प्रबंधनीय आकार में रखने के लिए काफी छोटा है)। ये मूल्य इसलिए तीन छवि बैंडों का प्रतिनिधित्व करते हैं, जिनमें से प्रत्येक मूल आठ के बजाय सटीक के केवल पांच बिट्स हैं।
प्रश्न के उदाहरण में, गणना इस तरह से आगे बढ़ती है:
ब्लू = 124 को 124/8 = 15 में बदला गया है (साथ ही 4 में से एक उपेक्षित शेष)। बाइनरी में यह 01111 है।
ग्रीन = 124 को 124/8 = 15 में बदला गया है (साथ ही 4 में से एक उपेक्षित शेष)। बाइनरी में यह 01111 है।
रेड = 172 को 172/8 = 21 में बदल दिया जाता है (साथ ही 4 की उपेक्षित शेष)। बाइनरी में यह 10101 है।
अंकों को 01111 01111 10101 में सम्मिलित किया जाता है। यह 15 अंकों का बाइनरी नंबर 15861 = (15 * 32 + 15) * 32 + 21 के मान को दर्शाता है।
r.composite
इससे अधिक प्रसंस्करण कर सकते हैं, और यह आपके द्वारा आपूर्ति किए गए विकल्पों के आधार पर इसे थोड़ा अलग तरीके से कर सकता है, लेकिन ये ऑपरेशन मूल तरीके को दिखाते हैं जिसमें एक बाइट को पांच-बिट मान में परिवर्तित किया जा सकता है।
आप लगभग 32 से क्रमिक विभाजनों का उपयोग करके प्रक्रिया को उल्टा कर सकते हैं :
15861/32 = 495 प्लस शेष 21। (8 से गुणा किया गया, 21 का यह शेष 168 देता है, जो लाल बैंड के लिए मूल 172 से थोड़ा ही कम है।)
४ ९ ५ / ३२ = १५ प्लस शेष १५ (, से गुणा, १५ का यह शेष १२० देता है, जो कि ग्रीन बैंड के लिए मूल १२४ से थोड़ा ही कम है।)
हमें 15 के साथ छोड़ दिया जाता है, जिसे 8 से गुणा करने पर 120 मिलता है, जो कि ब्लू बैंड के लिए मूल 124 से थोड़ा ही कम है।
संदर्भ
r.composite
मैनुअल पेज https://grass.osgeo.org/grass72/manuals/r.composite.html पर ।