का उपयोग कर जावा में समान रंगों से मिलान कैसे करें मैं रोबोट का उपयोग करके स्क्रीन के स्क्रीनशॉट ले रहा हूं और फिर उन स्क्रीनशॉट के भीतर छोटी छवियों की खोज कर रहा हूं। यह विंडोज पर काम करता है लेकिन गामा सुधार की वजह से ओएस एक्स नहीं। सबसे अच्छा समाधान मैं साथ आ सकता हूं बस सटीक रंग मिलान के बजाय समान रंगों से मेल खाना है।getRGB
मेरा डर यह है कि समान रंगों से मेल खाने का मतलब है कि आरआरबीबी से परे जा रहा है इसलिए मेरा प्रोग्राम धीमा हो जाएगा (क्योंकि यह कई स्क्रीनशॉट ले रहा है और उन्हें एक मैच को बहुत जल्दी खोजने के लिए एक छोटी छवि में तुलना कर रहा है)।
मेरा प्रश्न कैसे मैं निर्धारित करने के बारे में जाना है, कहते हैं कि मैं BufferedImage स्क्रीनशॉट और BufferedImage smallImage था की सुविधा देता है, अगर Screenshot.getRGB (1,1) और smallImage.getRGB (1,1) कर रहे हैं समान रंग?
आप एक तेज़ तरीका से * getRGB * ... * getRGB * वास्तव में हो सकता है पिक्सेल मूल्यों को प्राप्त करने के बारे में एक टिप्पणी में पूछा: Ava, वहाँ किसी भी आसान तरीका आरजीबी मूल्यों से कन्वर्ट करने के लिए अन्य रंग रिक्त स्थान में है बहुत धीमी: कुछ ओएस एक्स संस्करणों पर यह अंतर्निहित * int [] * से सीधे पिक्सेल मान प्राप्त करने की तुलना में धीमी गति से दो ऑर्डर परिमाण (yup, एक सौ बार धीमा [!], ओएस एक्स 10.4 पर मापा जा सकता है) तक धीमा हो सकता है। किसी छवि से हिस्टोग्राम निकालने के तेज़ तरीके के बारे में यहां मेरे (स्वीकृत) उत्तर देखें: http://stackoverflow.com/questions/8218072/faster-way-to-extract-histogram-from-an-image/8218570#8218570 आपके मामले में एक समान तकनीक लागू की जा सकती है, दोनों तेजी से और गामा सुधार चकमा दे सकते हैं। – TacticalCoder