लिंक किए गए स्रोत में "इसके फ्यूजन मोड को <Multiply>" में बदलने का उल्लेख है , इसलिए ऐसा करने के लिए ऑपरेशन एक साधारण औसत इनपुट हिलशैड नहीं है (इसके लिए, यह भी देखें कि gdal_hillshades औसत कैसे करें? )। यह कुछ और है। फिर भी, आइए 3 अलग-अलग धूप-दिशाओं की पहाड़ियों को बनाएं:
gdaldem hillshade input.tif hillshades_A.tmp.tif -s 111120 -z 5 -az 315 -alt 60 -compute_edges
gdaldem hillshade input.tif hillshades_B.tmp.tif -s 111120 -z 5 -az 355 -alt 60 -compute_edges
gdaldem hillshade input.tif hillshades_C.tmp.tif -s 111120 -z 5 -az 275 -alt 60 -compute_edges
ए, बी, सी का न्यूनतम मूल्य रखें
पहला एल्गोरिथ्म, हालाँकि मैं फ़िल्टर करने और सबसे गहरे पिक्सल्स रखने के लिए हूं, उर्फ पिक्सल ए, बी, सीए बुलियन के बीच कम मूल्यों के साथ कर सकते हैं:
gdal_calc.py -A hillshades_A.tmp.tif -B hillshades_B.tmp.tif -C hillshades_C.tmp.tif --outfile=./hillshades_xl.tmp.tif \
--calc="(A*(A<=B)*(A<=C)+ B*(B<A)*(B<=C)+ C*(C<A)*(C<B))"
छाया द्वारा वर्चस्व वाला क्षेत्र अब एक केंद्रीय लिग्नेट के विपरीत पक्ष से अधिक है, यह प्रत्येक तरफ 40 side की वृद्धि हुई है। दिए गए लिंक के अनुसार नहीं, यह वर्तमान एल्गोरिथ्म बहुत अधिक प्रबुद्ध क्षेत्र को खो देता है।
के कोण 315±30⁰
(छोटे कोण भिन्नता) बल्कि यह कि वर्तमान 315±40⁰
अच्छा करेगा।
नीचे दिए गए आरेख समीकरण का आधार है। यह प्रत्येक भाग में पिक्सेल मान A, B, C के लिए प्रकाश स्रोत A, B, C और बूलियन तुलना दिखाता है। समानता रेखाओं को बूलियन में शामिल करने के लिए एक विशेष ध्यान देने की आवश्यकता होती है। मध्य रेखा 221
में लंबवत प्रकाश स्रोत का मान होता है। प्रभाव के क्षेत्रों के बारे में सोचें , प्रकाश का निकटतम स्रोत मुख्य प्रभाव है, और सबसे कमज़ोर प्रभाव सबसे दूर है।
A, B, C के लिए चरम मान रखें
एक अन्य बूलियन एल्गोरिथ्म सबसे चरम मूल्यों को रखने के लिए हो सकता है, सबसे गहरे और सफेद पिक्सल दोनों। निम्नलिखित आरेख बूलियन सूत्र के बारे में बात करने में मदद करता है। सर्कल के प्रत्येक छठे के लिए, यह ए, बी, सी और बूलियन से त्रिकोणीय क्षेत्र का चयन करने के लिए और दक्षिणावर्त समानता रेखा, और केवल यही मान रखने के लिए मूल्य की पहचान करता है । यह (ऊपर और दक्षिणावर्त से) देता है:
--calc="A*(A>B)*(A>=C) + C*(C>A)*(A>=221) + B*(C>A)*(C>=221) + A*(A<B)*(B<=221) + C*(B>A)*(A<=221) + B*(B>A)*(C<=221)"
यदि कोण भिन्नता बहुत महत्वपूर्ण नहीं है, तो यह अच्छे परिणाम दे सकता है।
अन्य बूलियन
आप सीमावर्ती खंडों के किसी भी संयोजन का उपयोग करके पूरे मंडल को कवर करने के लिए अधिक जटिल बूलियन बना सकते हैं। यह महत्वपूर्ण है कि ए, बी, सी में से केवल एक मूल्य एक खंड के लिए रखा गया है।
गुणा
मैंने एक सिद्ध फार्मूला और न ही अंतिम सफलता के बिना पिक्सेल मूल्यों के लिए कई कठिन प्रयासmultiply
किए। @Radouxju ने कहा कि (a*b*c)^(1/3)
(GEOMETRIC माध्य) ARITHMETIC माध्य के बजाय (a*b*c)/(255*255)
काम कर सकता है। ज्यामितीय माध्य कम या अंकगणित माध्य के बराबर है, जो छायांकित क्षेत्रों के अंधेरे को व्यक्त करता है। मैंने अभी तक इसका परीक्षण नहीं किया है।