2010-12-01 10 views
7

मैं दो छवियों की तुलना करने के लिए कई विधियों की तलाश कर रहा हूं यह देखने के लिए कि वे कितने समान हैं। वर्तमान में मैं 'समानता सूचकांक' के परिणामस्वरूप प्रतिशत के रूप में प्रतिशत बनाने की योजना बना रहा हूं। मेरा प्रोग्राम रूपरेखा इस तरह कुछ है:जावा के साथ छवि तुलना तकनीक

  1. उपयोगकर्ता तुलना करने के लिए 2 छवियों का चयन करता है।
  2. एक बटन के साथ, छवियों की तुलना कई अलग-अलग तरीकों से की जाती है।
  3. अंत में, प्रत्येक विधि के पास इसके प्रतिशत का प्रतिशत होगा जो इंगित करता है कि छवियों को उस विधि के आधार पर कैसे समान किया जाता है।

मैंने हाल ही में बहुत सी पढ़ाई की है और मैंने जो कुछ सामान पढ़ा है, वह अविश्वसनीय रूप से जटिल और उन्नत प्रतीत होता है और मेरे जैसे किसी के लिए केवल जावा वर्ष के अनुभव के लायक नहीं है। अब तक मैं के बारे में पढ़ा है:

  • फूरियर रूपांतरण - इस बल्कि जावा में लागू करने के लिए भ्रामक खोजने im, लेकिन जाहिरा तौर पर जावा उन्नत इमेजिंग एपीआई इसके लिए एक वर्ग है। हालांकि मुझे यकीन है कि कैसे एक वास्तविक परिणाम के लिए उत्पादन कन्वर्ट करने के लिए नहीं कर रहा हूँ

  • झारना एल्गोरिथ्म - अविश्वसनीय रूप से जटिल लगता है

  • Histograms - शायद सबसे आसान सभी से बाहर तो उल्लेख दूर

  • पिक्सेल हथियाने - व्यवहार्य लगता है लेकिन यदि दो छवियों के बीच काफी भिन्नता है तो ऐसा लगता है कि यह किसी भी प्रकार के सटीक परिणाम का उत्पादन नहीं करेगा। मैं गलत हो सकता हूं?

मेरे पास पहले सोबेल फ़िल्टर का उपयोग करके एक छवि को प्री-प्रोसेस करने का विचार है, फिर इसकी तुलना करें। समस्या वास्तविक तुलना भाग है।

तो हाँ, मैं देख रहा हूं कि जावा में छवियों की तुलना करने के लिए किसी के पास विचार है या नहीं। उम्मीद है कि यहां ऐसे लोग हैं जिन्होंने पहले इसी तरह की परियोजनाएं की हैं। मैं सिर्फ व्यवहार्य तुलना तकनीकों पर कुछ इनपुट प्राप्त करना चाहता हूं जो जावा में लागू करने के लिए बहुत कठिन नहीं हैं।

अग्रिम धन्यवाद

+0

इस उत्तर को चेक करें। http://stackoverflow.com/questions/21179019/how-to-compare-set-of-images-in-java-using-pixel-based-image-comparision-metric/21763781#21763781 –

उत्तर

4
  • फूरियर रूपांतरण - जब वे बेहतर संरेखित हैं यह कुशलतापूर्वक cross-correlation है, जो आपको बताएगा कि दो छवियों को संरेखित करने के लिए और कैसे वे कर रहे हैं समान होगा गणना कर सकता है के लिए इस्तेमाल किया जा सकता है।
  • शिफ्ट डिस्क्रिप्टर - इनका उपयोग स्थानीय सुविधाओं की तुलना करने के लिए किया जा सकता है। वे अक्सर पत्राचार विश्लेषण और वस्तु पहचान के लिए उपयोग किया जाता है। (SURF देखें)
  • हिस्टोग्राम - सामान्यीकृत क्रॉस-सहसंबंध अक्सर वैश्विक स्तर पर छवियों की तुलना करने के लिए अच्छे परिणाम प्राप्त करता है। लेकिन चूंकि आप रंग वितरण की तुलना कर रहे हैं, इसलिए आप बहुत सारे बर्फ के साथ एक आउटडोर दृश्य घोषित कर सकते हैं जिसमें बहुत सारे सफेद वॉलपेपर हैं ...
  • पिक्सेल हथियाने - कोई विचार नहीं कि यह क्या है ...

आप this paper से एक अच्छा अवलोकन प्राप्त कर सकते हैं। एक और क्षेत्र जिसे आप देखना चाहते हैं content based image retrieval (CBIR) है।

जावा विशिष्ट नहीं होने के कारण खेद है। HTH।

+0

धन्यवाद। मैं वास्तव में फूरियर ट्रांसफॉर्म को आजमा देना चाहता हूं लेकिन मुझे जावा में इसे लागू करने में समस्याएं हैं। मेरे लिए यह बहुत सरल नहीं लगता है =/ – Flynn

+0

यदि आप "जावा एफएफटी लाइब्रेरी" और "एफएफटी छवि प्रोसेसिंग" (एफएफटी = फास्ट फोरियर ट्रांसफॉर्म) की खोज करते हैं तो आपको शायद अच्छे शुरुआती बिंदु मिल सकते हैं। आपको शायद एफएफटी को स्वयं लागू नहीं करना चाहिए। एनबी: यदि आप एफएफटी का उपयोग करना चाहते हैं तो आपको छवि आकारों को "समायोजित" करने की आवश्यकता है। – bjoernz

1

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

मुझे जावा कार्यान्वयन के बारे में पता नहीं है, लेकिन C++ implementation using OpenCV है। आप इसे फिर से उपयोग करने का प्रयास कर सकते हैं (javacv जैसे कुछ के माध्यम से) या बस इसे स्क्रैच से लिखें। एल्गोरिदम स्वयं भी जटिल नहीं है, इसलिए आप इसे सीधे कार्यान्वित करने में सक्षम होना चाहिए।

+0

बहुत बहुत धन्यवाद। मैं एसएसआईएम में देखूंगा क्योंकि जिन छवियों की तुलना करने की कोशिश कर रहा हूं, वे अधिकतर आपके जैसा कहेंगे - एक ही कोण से समान या समान वस्तु। – Flynn

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