2008-09-30 16 views
51

मैं अपने कंप्यूटर पर संग्रहीत एक छवि से वेबकैम से ली गई छवि की तुलना करने में सक्षम होना चाहता हूं।क्या .NET के लिए कोई ठीक छवि पहचान पुस्तकालय हैं?

लाइब्रेरी को एक सौ प्रतिशत सटीक होने की आवश्यकता नहीं है क्योंकि इसका उपयोग किसी भी मिशन में महत्वपूर्ण नहीं होगा (उदाहरण के लिए पुलिस जांच), मुझे बस कुछ ठीक चाहिए जो मैं काम कर सकता हूं।

मैंने Image Recognition from CodeProject के लिए एक प्रदर्शन परियोजना की कोशिश की है, और यह केवल छोटी छवियों के साथ काम करता है/जब मैं एक सटीक छवि 120x90 पिक्सल की तुलना करता हूं (यह ठीक है: पी) के रूप में वर्गीकृत नहीं होता है।

क्या पहले छवि पहचान के साथ कोई सफलता मिली है?

यदि हां, तो क्या आप पुस्तकालय के लिए एक लिंक प्रदान करने में सक्षम होंगे जिसका उपयोग मैं सी # या वीबी.नेट में कर सकता हूं?

+0

यह निश्चित रूप से इस से भी ज्यादा बड़ा छवियों के साथ काम करता है, कुछ अन्य समस्या संभवतः प्रारूप होना चाहिए। –

उत्तर

68

आप इस कोशिश कर सकते: http://code.google.com/p/aforge/

यह एक तुलना विश्लेषण है कि आप एक स्कोर दे देंगे भी शामिल है। सभी प्रकार के कई अन्य इमेजिंग फीचर्स भी शामिल हैं।

// The class also can be used to get similarity level between two image of the same size, which can be useful to get information about how different/similar are images: 
// Create template matching algorithm's instance 

// Use zero similarity to make sure algorithm will provide anything 
ExhaustiveTemplateMatching tm = new ExhaustiveTemplateMatching(0); 

// Compare two images 
TemplateMatch[] matchings = tm.ProcessImage(image1, image2); 

// Check similarity level 
if (matchings[0].Similarity > 0.95) 
{ 
    // Do something with quite similar images 
} 
+0

बहुत अच्छा लगता है! आइए आशा करते हैं कि यह अपेक्षित रूप से काम करता है ... यदि आपका ऐसा होता है तो मैं आपके उत्तर को स्वीकार कर लेता हूं। :) – RodgerB

+7

यह बिल्कुल शानदार काम करता है! अपनी छवि की तुलना करने के लिए 100% समान है, मेरे लिए 91% मेरे कुर्सी पर सीधे बैठे हुए हैं और मुझे मेरे बाएं झुकाव है। यह सब कुछ है जिसे मैं उम्मीद कर सकता था, धन्यवाद अरब! :) – RodgerB

+4

बहुत बढ़िया है, मुझे खुशी है कि मैं आपको इससे जोड़ सकता हूं। मेरी इच्छा है कि किसी ऐसे व्यक्ति को भुगतान करने का कोई तरीका था जो पहले मुझसे जुड़ा हुआ था। यह वही था जो मुझे अपनी परियोजनाओं में से एक में भी चाहिए था। धन्यवाद – mattlant

8

आप वास्तव में नेट के लिए EmguCV उपयोग कर सकते हैं।

3

मैंने इसे आसानी से किया। बस आईओपेन लाइब्रेरी here डाउनलोड करें। फिर अपने सी # कक्षा में इसका इस्तेमाल करते हैं और इस बारे में:

use eyeopen.imaging.processing 

लिखें

ComparableImage cc; 

ComparableImage pc; 

int sim; 

void compare(object sender, EventArgs e){ 

    pc = new ComparableImage(new FileInfo(files)); 

    cc = new ComparableImage(new FileInfo(file)); 

    pc.CalculateSimilarity(cc); 

    sim = pc.CalculateSimilarity(cc); 

    int sim2 = sim*100 

    Messagebox.show(sim2 + "% similar"); 
} 
+3

आप एक ही जवाब क्यों पोस्ट करते हैं [दो बार] (http://stackoverflow.com/a/12421689/569101)? – j0k

+0

सरल और आसान छवि तुलना, मुझे यह पसंद है। – Hiram

+0

@ j0k, मुझे लगता है क्योंकि उत्तर 2 प्रश्नों के लिए काम करता है, जैसा उपरोक्त द्वारा दिखाया गया है .... – MyDaftQuestions

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