2017-04-10 22 views
7

में आरजीबी रंग मैं कोई मूल अंग्रेजी स्पीकर नहीं हूं, इसलिए कृपया किसी भी अनुवाद त्रुटियों को क्षमा करें।जावा वीएस वीबीएनटी

मुझे वास्तव में कोडिंग समस्या नहीं है। यह एक वैचारिक सवाल है।

मैंने आरजीबी मूल्यों की सूची में एक छवि का अनुवाद करने वाले कोड के दो बार एक ही टुकड़ा लिखा था। (प्रत्येक पिक्सेल के लिए 3 मानों का 1 संयोजन)।

मैं का उपयोग कर VB.net में पहली कोड लिखा है:

Dim bmp As New Bitmap(File) 
For x As Integer = 0 To w - 1 
    For y As Integer = 0 To h - 1 
     Dim c As Color = bmp.GetPixel(x, y) 
     Dim Red as integer = c.R 
     Dim Green as integer = c.G 
     Dim Blue as integer = c.B 
    Next y 
next x 

बाद में मैं जावा में निम्नलिखित लिखा है:

BufferedImage image = ImageIO.read(new File(File)) 
for (int i = 0; i < w; i++) { 
    for (int j = 0; j < h; j++) { 
     int pixel = image.getRGB(i,j); 
     int Red = ((pixel >> 16) & 0xff); 
     int Green = ((pixel >> 8) & 0xff); 
     int Blue = ((pixel) & 0xff); 
    } 
} 

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

यदि मैं जावा (लाल) के बनाम वीबीनेट (लाल) की तुलना करता हूं, तो जावा (हरा) बनाम वीबीनेट (हरा) और जावा (नीला) बनाम है बनाम वीबीनेट (नीला) मैं 270x320x3 = 259.2k संयोजनों की तुलना करता हूं।

  • कोई अंतर नहीं: 250,178 (96.5%)
  • एक अंतर यह: 7426 (2.9%)
  • दो अंतर पूर्णांकों VB.net से और जावा कोड से मिल गया के बीच मतभेद का पालन के रूप में कर रहे हैं : 1582 (0.6%)
  • तीन अंतर: 14 (0.0%)
  • चार या अधिक diff .: 0 (0.0%)

जहां इस अंतर को इधर-उधर की बात आती है किसी को भी मेरे लिए व्याख्या कर सकते हैं मीटर? क्या यह रंग पढ़ने, छवि को बफर करने का तरीका, या एंटी-एलाइजिंग जैसे कुछ तरीके से करना है?

सच उत्सुक क्या कारण है, अग्रिम

+0

यह _might_ छवि मेटाडेटा हो जो छवि प्रसंस्करण लाइब्रेरी को रंगों को थोड़ा बदलने के लिए कहता है। हो सकता है कि एक पुस्तकालय मेटाडेटा का सम्मान करे जबकि अन्य इसे अनदेखा करे। इस तरह के मेटाडाटा के उदाहरणों में आईसीसी रंग प्रोफाइल, गामा सुधार मूल्य इत्यादि शामिल हैं –

+1

फ़ाइल एक्सटेंशन क्या है? –

+1

मैंने जेपीजी बनाम जेपीईजी और जेपीजी बनाम पीएनजी –

उत्तर

1

दूसरों के द्वारा उल्लेख किया है में THX, अंतर जेपीईजी के हानिपूर्ण संपीड़न के कारण होता है।

आपको इन तरीकों का परीक्षण हानि रहित प्रारूप के साथ करना चाहिए।

संबंधित मुद्दे