मूल रूप से, आपको इस छवि पर कुछ पोस्ट प्रोसेसिंग करने की आवश्यकता है ।
मूल से, मैंने जो पहला कदम उठाया, वह सबसे गहरा हिस्सा काला और सबसे हल्का सफेद बनाने के लिए था। केवल इसलिए कि आपके मूल हल्के स्थान केवल (.37, .34, .38) के बाद से एक बड़ा अंतर हो गया। दूसरे शब्दों में, आप 60% से अधिक गतिशील रेंज को बर्बाद कर रहे थे।
मूल:

पूर्ण सीमा तक काले और सफेद स्तर:

आगे मैंने कुछ गैर-रेखीय चमक में वृद्धि को लागू किया। नीचे दी गई तस्वीर मेरे सॉफ्टवेयर को 1 का "लॉग रेशियो" और .2 का एक चमकदार मूल्य कहती है।
लॉग अनुपात मूल ग्रहण की रैखिक चमक मूल्यों का एक लघुगणक मानचित्रण है। लॉगरिदमिक मैपिंग के साथ समस्या यह है कि पूर्ण काले रंग के साथ करने के लिए कोई अच्छी बात नहीं है, क्योंकि इससे नकारात्मक असमानता होगी। एक तरह से या किसी अन्य, आपको लॉग स्पेस में काली ऑफसेट को निर्दिष्ट करना होगा, जो फिर आउटपुट छवि में काले रंग के लिए फिर से तैयार हो जाता है। मेरा लॉग अनुपात पैरामीटर रेंज के उच्च छोर पर समान छोटे वेतन वृद्धि की तुलना में सीमा के नक्शे के निचले छोर पर कितना अंतर होता है, इसका अनुपात निर्दिष्ट करके करता है। लॉग अनुपात पैरामीटर लॉग 2 हैउस अनुपात का। 1 का एक लॉग अनुपात समायोजन इसलिए सफेद छोर के रूप में काले छोर पर दो बार ढलान के साथ एक वक्र का कारण बनता है। लगभग 4 का लॉग अनुपात अधिक सामान्य है, जिसके परिणामस्वरूप काले और सफेद सिरों के बीच ढलान का 16: 1 अनुपात है। मुझे नहीं पता कि आपने इस सभी गणित का पालन किया है, लेकिन मूल रूप से यह उन मूल्यों के बजाय एक हल्का लघुगणकीय ढलान है जो काले और सफेद को संरक्षित करते हुए छवि को उज्जवल बनाता है।
.2 का उज्ज्वल कारक एक अलग गैर-रेखीय मानचित्रण लागू करता है जो काले और सफेद को भी संरक्षित करता है, लेकिन अंधेरे क्षेत्रों को अधिक प्रभावित करता है और लॉग अनुपात पैरामीटर की तुलना में कम उज्ज्वल क्षेत्र करता है।
वैसे भी, यहाँ परिणाम है:

मैं यहां रुक गया क्योंकि मुझे नहीं पता कि मूल दृश्य कैसा दिखता था, और अंधेरे छोर पर छोटे बदलावों के सभी प्रवर्धन के कारण कुछ चंचलता पैदा होने लगी थी। यह एक बढ़िया उदाहरण है कि आप कैमरे में JPG चित्र क्यों नहीं लेना चाहते हैं। चूंकि वे पहले से ही प्रति रंग के समान 256 मूल्यों तक सीमित हैं, आप अंततः अंतिम छवि में हैं, जानकारी खोए बिना अलग-अलग मैपिंग लागू करने का कोई तरीका नहीं है। यदि आप मूल कच्चे 12 या 14 बिट सेंसर मूल्यों के साथ शुरू करते हैं, तो आपके पास चमक पैमाने पर बहुत अधिक विवरण है ताकि सभी सुधार करने के बाद भी 1/256 परिवर्तन बाकी हैं।