मुझे अल्फा पारदर्शिता के साथ एक पीएनजी छवि में सभी सफेद (आईएसएच) पिक्सल को प्रतिस्थापित करने की आवश्यकता है।छवि गुरु: मेरे पायथन पीएनजी पारदर्शिता समारोह को अनुकूलित करें
मैं ऐपइंजिन में पाइथन का उपयोग कर रहा हूं और इसलिए पीआईएल, इमेजमैजिक इत्यादि जैसे पुस्तकालयों तक पहुंच नहीं है। ऐपइंजिन में एक छवि लाइब्रेरी है, लेकिन मुख्य रूप से छवि आकार बदलने पर इसे खींचा जाता है।
मैं उत्कृष्ट थोड़ा pyPNG module पाया जाता है और करता है कि मैं क्या जरूरत है एक छोटे से समारोह ऊपर दस्तक करने में कामयाब रहे:
मुख्य पाश के लिएछद्म कोड होगा कुछ की तरह:
for each pixel:
if pixel looks "quite white":
set pixel values to transparent
otherwise:
keep existing pixel values
और (8 बिट मान मानते हैं) "काफी सफेद" होगा:
where each r,g,b value is greater than "240"
AND each r,g,b value is within "20" of each other
यह पहली बार है जब मैंने कच्चे पिक्सेल डेटा के साथ इस तरह काम किया है, और हालांकि काम करता है, यह भी बेहद खराब प्रदर्शन करता है। ऐसा लगता है कि प्रत्येक पिक्सेल पर इस तरह से डेटा को प्रोसेस करने का एक और अधिक प्रभावी तरीका होना चाहिए? (Matrices?)
मैं उम्मीद कर रहा था कि इन चीजों से निपटने में अधिक अनुभव रखने वाले किसी व्यक्ति को मेरे एल्गोरिदम में मेरी कुछ और अधिक स्पष्ट गलतियों/सुधारों को इंगित करने में सक्षम हो सकता है।
धन्यवाद!
आरजीबी 240 की तुलना में सभी अधिक से अधिक, क्या मुझे लगता है पर एक 0-255 पैमाने पर है, तो वे हैं:
यहाँ, अगर आप चित्र को कॉपी करने के लिए तैयार थे, तो आप एक सूची समझ इस्तेमाल कर सकते हैं जरूरी है कि एक दूसरे के 20 के भीतर, वे नहीं हैं? – AakashM
(कारण मैं पूछता हूं क्योंकि यदि * सभी * हमें उन पिक्सेल की आवश्यकता है जहां आर, जी, बी सभी 241+ हैं, तो यह अधिक संभावना है कि एक मैट्रिक्स-वाई विधि है) – AakashM
हां यह 0-255 है पैमाने। और वास्तविक थ्रेसहोल्ड मान दुर्भाग्यवश 240 से ऊपर होने के बावजूद भिन्न होते हैं, छवि स्रोतों के बीच एक अच्छी तरह से ट्यूनिंग के रूप में। मुझे थ्रेसहोल्ड = 210 मिला है और सहनशीलता = 30 ने पूरे दौर के अच्छे परिणाम दिए हैं। –