2012-03-13 6 views
7

मेरे पास काफी बड़ी जेपीजी छवियों की कई छवियां हैं (हजारों)। प्रत्येक इंडेक्स कार्ड की एक छवि है। उनमें से ज्यादातर सफेद हैं, लेकिन कुछ में मानक इंडेक्स-कार्ड रंग हैं (these colors)।प्रभावी रंग से चित्रों को स्वचालित रूप से वर्गीकृत कैसे करें?

रंग डेटा विशेषताओं से मेल खाते हैं, इसलिए मैं प्रोग्राम द्वारा इन कार्डों को रंगीन रूप से वर्गीकृत करना चाहता हूं। मुझे पता है कि canvas तत्व का उपयोग करके वेब ब्राउज़र में छवियों से प्रभावशाली रंग निकालना संभव है और color thief जैसे एल्गोरिदम, और यह काम करता है-यह मुझे एक आरजीबी मान देता है जो कार्ड को बिन करने के लिए पर्याप्त है।

लेकिन मैं नहीं देख सकता कि मैं इतनी सारी छवियों पर वेब ब्राउज़र के माध्यम से ऐसी चीज़ कैसे चला सकता हूं।

मुझे आश्चर्य है कि कोई भी कमांड लाइन उपकरण, शायद एक पायथन या रूबी मॉड्यूल की सिफारिश कर सकता है, जो कुछ ऐसा ही कर सकता है।

उत्तर

3

यह this question के साथ दृढ़ता से ओवरलैप प्रतीत होता है।

यदि मैं आपकी स्थिति में था, हालांकि, कुछ चीजें हैं जो मैं कोशिश करूंगा। सबसे पहले, आप कई पायथन पुस्तकालयों में से किसी एक को प्राप्त कर सकते हैं जो काम कर सकता है: OpenCV, Mahotas, PIL, या scikits.image सभी संभवतः इसे संभाल सकते हैं क्योंकि आपको वास्तव में औसत आरजीबी मूल्यों को बाहर करने की आवश्यकता है।

प्रत्येक छवि को लोड करने के लिए एक स्क्रिप्ट लिखें और अपनी औसत आरजीबी मान को किसी सूची में संलग्न करें। इसके बाद आप रंगों की इस बड़ी सूची पर अर्थहीन या के-साधन क्लस्टरिंग करने के लिए scikits.learn से अंतर्निहित विधियों का उपयोग कर सकते हैं। चूंकि आप शायद जानते हैं कि कितने अलग रंग हैं, के-साधन एक अच्छा विकल्प है। वैकल्पिक रूप से, यदि आप पहले से ही मानक रंगों के आरजीबी मूल्यों को जानते हैं, तो आपके द्वारा लोड की जाने वाली प्रत्येक छवि के लिए, औसत आरजीबी मान की गणना करें, फिर उस छवि को "वर्गीकृत करें" जो भी मानक रंग आरजीबी वेक्टर निकटतम है।

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