सवाल सफारी और आईई की तुलना में यह पीएनजी छवि क्रोम और फ़ायरफ़ॉक्स में अलग-अलग क्यों प्रदर्शित होती है?


इस छवि को देखें:

Apple or Pear

क्रोम और फ़ायरफ़ॉक्स पर यह एक नाशपाती के रूप में दिखाएगा। अब, इसे सहेजने का प्रयास करें और इसे अपने डेस्कटॉप पर सहेज लें। इसके अलावा, देखने का प्रयास करें सफारी या इंटरनेट एक्स्प्लोरर। यह एक सेब के रूप में प्रदर्शित होगा!

छवि पर क्लिक करने और इसे चारों ओर ले जाने का प्रयास करें। आप देखेंगे कि सेब प्रकट होता है।

क्यों होता है ऐसा?


667
2018-04-07 03:32


मूल


अगर मैं छवि को फ़ायरफ़ॉक्स पर खींचने की कोशिश करता हूं, तो पारदर्शी रूप से खींची गई छवि सेब का आकार आ जाएगा - ajax333221
आपने यह तस्वीर कैसे बनाई? क्या आप मुझे एक वेबसाइट पर इंगित कर सकते हैं? - tumchaaditya
भविष्य के पाठकों के लिए, यह आईई के मौजूदा संस्करणों में तय किया गया प्रतीत होता है। - Kat
लेकिन आप अभी भी इसे अपने डेस्कटॉप पर डाउनलोड कर सकते हैं और वहां सेब देख सकते हैं, और इसे फ़ायरफ़ॉक्स में देख सकते हैं, क्रोम को नाशपाती के रूप में। - Jet


जवाब:


ऐसा इसलिए होता है क्योंकि कुछ ब्राउज़र छवि फ़ाइल में निर्दिष्ट गामा सुधार करते हैं।

यहां अनिश्चित छवि है। सेब चित्र में "सफेद-आश" पिक्सल में एक नाशपाती की तस्वीर होती है, जो बहुत अधिक तीव्रता पर संग्रहीत होती है, यानी बहुत उज्ज्वल।

गामा-सही छवि यहां दी गई है। नाशपाती तस्वीर में "ब्लैक-आश" पिक्सल में एक सेब की तस्वीर होती है, जो काफी सामान्य तीव्रता पर संग्रहीत होती है, लेकिन गामा सुधार के साथ काले रंग के नीचे जाती है।

मेरी स्क्रीन पर, मैं पहली छवि में सफेद पिक्सेल के बीच बेहोशी से नाशपाती देख सकता हूं, लेकिन दूसरी छवि में, सेब इसके चारों ओर काले पिक्सेल से अलग नहीं है।

(आप गामा-सुधारित नाशपाती पर कुछ रंग बैंडिंग भी देख सकते हैं, क्योंकि uncorrected छवि रंगीन चैनलों की एक बहुत छोटी श्रृंखला का उपयोग कर रही है।)

पीएनजी छवि फ़ाइल में एक गामा खंड होता है जो 0.02 के फ़ाइल गामा मान निर्दिष्ट करता है। गामा सुधार के बिना प्रदर्शित होने पर, दर्शक एक सेब को "सफेद" पिक्सल के साथ छेड़छाड़ करता है, जो वास्तव में इसकी मूल (उच्च) तीव्रता पर नाशपाती होता है।

गामा सुधार के साथ प्रदर्शित होने पर, दर्शक "ब्लैक" पिक्सेल के साथ रंग-सुधारित नाशपाती देखता है जो वास्तव में बहुत कम गामा मूल्य पर प्रदान किया जाता है।

नाशपाती प्रदर्शित करने वाले ब्राउज़र छवि पर गामा सुधार कर रहे हैं, जबकि सेब प्रदर्शित करने वाले ब्राउज़र गामा सुधार नहीं कर रहे हैं, बल्कि इसे अपने शाब्दिक रंग मानों के साथ दिखा रहे हैं।


529
2018-04-07 05:23



विषय पर एक अनुशंसित पढ़ने: एरिक ब्रैसुर द्वारा प्रसिद्ध लेख कहा जाता है "चित्र स्केलिंग में गामा त्रुटि। - ulidtko
@ulidtko अब यह 404 है। यहाँ एक है थर्म वेब आर्काइव पर कॉपी करें। - Cole Johnson


यह एक टिप्पणी के लिए थोड़ा अधिक था, लेकिन उम्मीद है कि यह मदद करता है।

इसलिए, मैं काफी हद तक निश्चित हूं कि यह समस्या ब्राउज़र से पीएनजी के साथ गामा जानकारी की व्याख्या के तरीके से संबंधित है। यह एक बहुत ही मजेदार समस्या है और पहली जगह गामा की जानकारी की अस्पष्टताओं से संबंधित है।

लेख पीएनजी गामा की सदा कहानी "सुधार" मुद्दों, उपचार, और अन्य मजेदार तथ्यों का एक बहुत अच्छा सारांश प्रदान करता है।

इसके साथ ही, हम वास्तव में एक छवि से गामा जानकारी पट्टी कर सकते हैं pngcrush

pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB pear.png apple.png

तो गामा की जानकारी के साथ और इसके बिना:

pear an apple

मैं वास्तव में यह नहीं कहूंगा कि यह "जवाब" है, लेकिन अगर कुछ भी सही दिशा में है। मुझे यकीन है कि कलर-प्रोफाइल से संबंधित बहुत सारे ज्ञान वाले व्यक्ति और अधिक औपचारिक प्रतिक्रिया के साथ आएंगे।


228
2018-04-07 04:34



उन दो छवियों को मेरे जैसा ही दिखता है, सवाल में मूल की तरह सेब और नाशपाती के बीच झटके लगते हैं। मैं सफारी 6.0.2 का उपयोग कर रहा हूँ - Fraser Graham
ध्यान दें कि यहां दिए गए आदेश के अंतिम दो तत्व हैं infile तथा outfile: उदा। pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB infile.png outfile.png। और जानकारी: hsivonen.fi/png-gamma - fredrivett


गामा बदलना (γ) में एक छवि के मूल्य गामा को संशोधित करने में शामिल हैं:

(आर ', जी', बी ') = (आरγ, जीγ, बीγ)

जो प्रारंभिक पिक्सेल मान (आर, जी, बी) पर गामा फ़ंक्शन को लागू करने के बाद स्क्रीन पर प्रदर्शित आउटपुट पिक्सेल रंग (आर ', जी', बी ') देता है (आर, जी, और बी 0 और 1 के बीच सामान्यीकृत )।

अब, चलिए उदाहरण के लिए लाल चैनल लेते हैं।
अगर आर = आर 0 + आर 1 , आप प्राप्त करेंगे
आर '= (आर 0 + आर 1)γ = आर 0γ * (1 + आर 1 / आर 0)γ

यदि आर 0 आर 1 से काफी बड़ा है, तो आपके पास है
(1 + आर 1 / R0)γ ≈ 1 + γआर 1 / R0,
इसलिए आर '≈ आर 0γ + γ


40
2018-04-07 05:38





यह गोल पिक्सल नहीं है और आईसीसी रंग प्रोफाइल समस्या नहीं है।

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

मैं या तो एक सेब / नाशपाती चाल छवि देखता हूं, या मैं सिर्फ नाशपाती देखता हूं, इस पर निर्भर करता है कि ब्राउज़र इस गामा डेटा का समर्थन करता है या नहीं।


9
2018-04-07 05:41





जैसा कि यह खुश होता है, आप उचित कैलिब्रेटेड डिस्प्ले वाले चित्रों में अधिक जानकारी देख सकते हैं और यदि गामा / चमक / विपरीतता उच्च है, तो आप तस्वीर में एक छवि देख सकते हैं छिपा हुआ अधिक


1
2018-03-11 01:49