2011-09-24 20 views
8

मैं दो वेक्टर छवियों (एसवीजी कहें) की तुलना करना चाहता हूं और देख सकता हूं कि वे कितने करीब हैं। असल में, मैं एक ट्रेसिंग एल्गोरिदम की शुद्धता का परीक्षण करना चाहता हूं जो रास्टर छवियों को वेक्टर प्रारूप में परिवर्तित करता है।दो वेक्टर छवियों की तुलना

तरह से मैं इस एल्गोरिथ्म परीक्षण करने के लिए सोच रहा हूँ है:

कुछ वेक्टर छवियों लो।

- वेक्टर छवि को पीएनजी में रास्टराइज करें।

- उपरोक्त पीएनजी को एल्गोरिदम का पता लगाने के लिए तैयार करें।

- मूल के साथ ट्रेसिंग प्रोग्राम (जो एसवीजी है) के आउटपुट की तुलना करें।

जबकि मुझे पता है कि आरएमएसई (छवि मैगिक में) जैसे रास्टर छवियों के लिए कुछ मेट्रिसिस हैं, तो वे परिचित नहीं हैं अगर वेक्टर प्रारूपों के लिए कुछ मानक मेट्रिस हैं। मैं कुछ साधारण लोगों जैसे कि आर्क, लाइन, वक्र इत्यादि के बारे में सोच सकता हूं लेकिन ये ज्यामिति और रंगों में विचलन का पता नहीं लगा सकते हैं। क्या कोई इस समस्या के लिए एक अच्छा मानक मीट्रिक या कुछ अन्य दृष्टिकोण सुझा सकता है।

उत्तर

4

मुझे इसके लिए मानक मीट्रिक के बारे में पता नहीं है, लेकिन मेरे पास एक सूचक है जो मुझे आशा है कि मैं सहायक होगा।

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

आप इसके बारे में और अधिक पढ़ सकते हैं (विशेष रूप से एसवीजीआरएंडरिंग अकसरसीटेस्ट सेक्शन): http://jpfop.sourceforge.net/jaxml-batik/html-docs/test.html पर।

कि, ज़ाहिर है, इसका मतलब है कि आप रास्टर तुलना कर रहे होंगे और वेक्टर तुलना नहीं करेंगे। आपके मामले में वेक्टर तुलना बेहद मुश्किल होगी क्योंकि पूरी तरह से अलग वक्र बहुत ही समान प्रतिपादन उत्पन्न कर सकते हैं - जो कुछ मुझे लगता है वह ठीक है। और भी, इनपुट में एक ऐसा आकार हो सकता है जो दूसरे के पीछे छिपा हुआ हो, जिससे उत्पादन संभवतः अनुमान लगाया जा सके कि यह क्या है। इसलिए आउटपुट पूरी तरह से गलत के रूप में दिखाएगा, भले ही यह एक पिक्सेल-परिपूर्ण बराबर प्रतिपादन उत्पन्न कर सके।

यदि आप वेक्टर तुलना करने की इच्छा रखते हैं (शायद आपका डेटा इस तरह से व्यवहार्य है जो इसे और अधिक व्यवहार्य बनाता है) सबसे सरल हो सकता है कि पहले एसवीजी दोनों को सामान्य करें (सभी आकृतियों को पथ में परिवर्तित करें, सभी मेटाडेटा को खत्म करें, विरासत लागू करें सभी गुणों में से और उनके मूल्यों को सामान्यीकृत करें, पथ डेटा को हमेशा एक ही रूप, आदि का उपयोग करने के लिए सामान्य करें) और इसे दो उद्देश्यों के लिए उपयोग करें: सबसे पहले, सामान्यीकृत वृक्ष संरचना में भिन्नताओं को देखने के लिए। इससे पहले आपको कुछ उपयोगी जानकारी मिलनी चाहिए। दूसरा, यदि आप बहादुर महसूस करते हैं, तो व्यक्तिगत घटता के बीच अंतर की सतह को मापें। हालांकि मैं बाद में शुरू करने के बारे में दो बार सोचूंगा, क्योंकि यह आपको बहुत सारे झूठे नकारात्मक होने की संभावना है।

+0

एफवाईआई, एक ड्राइंग के "छिपे हुए" हिस्सों की देखभाल करने का एक कारण: कुछ लेजर कटर एक इनपुट प्रारूप के रूप में एसवीडी का उपयोग करते हैं। स्ट्रोक कटौती का प्रतिनिधित्व करते हैं, भरने को उत्कीर्ण किया जा सकता है (या अनदेखा किया जा सकता है)। एक कट जिसे बाद में उत्कीर्ण किया गया है, अभी भी महत्वपूर्ण है (हालांकि उचित होने के लिए आप सामान्य रूप से चीजों को ऑर्डर करना चाहते हैं ताकि आकार के अंदर पहले काट दिया जा सके, और आप आम तौर पर कटौती पर नहीं आते हैं ... लेकिन ऐसा हो सकता है, esp। "कटौती" एक शरणार्थी शक्ति पर हैं जो वास्तव में पूरी तरह से कटौती नहीं करता है) – Stripes

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