दो छवियों के बीच समानता की गणना करने के लिए कई अलग-अलग एल्गोरिदम हैं, लेकिन मुझे इस जानकारी को किसी डेटाबेस में कैसे स्टोर किया जाएगा इस पर कुछ भी नहीं मिल रहा है जैसे कि आप जल्दी ही छवियां पा सकते हैं ।डेटाबेस में समान छवियों को ढूंढने के लिए मीट्रिक
"समान" से मेरा मतलब है कि सटीक डुप्लिकेट जो घुमाए गए हैं (90 डिग्री वृद्धि), रंग समायोजित, और/या फिर से सहेजे गए (हानिकारक जेपीईजी संपीड़न)।
मैं छवियों के "fingerprint" के साथ आने की कोशिश कर रहा हूं जैसे कि मैं उन्हें जल्दी देख सकता हूं।
सबसे अच्छा मैं अब तक आया हूं generate a grayscale histogram है। ग्रे के 16 डिब्बे और 256 रंगों के साथ, मैं आसानी से 16-बाइट फिंगरप्रिंट बना सकता हूं। यह काफी अच्छी तरह से काम करता है, लेकिन यह उतना मजबूत नहीं है जितना मैं चाहता हूं।
मैंने कोशिश की एक और समाधान छवियों का आकार बदलना था, rotate them ताकि वे सभी उसी तरह उन्मुख हो जाएं, उन्हें ग्रेस्केल करें, हिस्टोग्राम को सामान्य करें, और फिर उन्हें लगभग 8x8 तक कम करें, और रंगों को ग्रे के 16 रंगों में कम करें । हालांकि लघु छवियां बहुत समान थीं, लेकिन आमतौर पर वे एक पिक्सेल या दो से बंद होते थे, जिसका अर्थ है कि सटीक मिलान काम नहीं कर सकता है।
सटीक मिलान के बिना, मुझे विश्वास नहीं है कि समान तस्वीरों को समूहित करने का कोई भी प्रभावी तरीका है (हर तस्वीर को हर दूसरी तस्वीर की तुलना किए बिना, यानी, ओ (एन^2))।
तो, (1) मैं कैसे बना सकता हूं मैं एक फिंगरप्रिंट/हस्ताक्षर तैयार करता हूं जो ऊपर उल्लिखित आवश्यकताओं के लिए परिवर्तनीय है? या, (2) यदि यह संभव नहीं है, तो मैं एकल छवि देकर अन्य मीट्रिक का उपयोग कैसे कर सकता हूं, मुझे हजारों के डेटाबेस में यह सर्वोत्तम मिलान मिल सकता है?
क्या आपको एक रैखिक हैश की आवश्यकता है (क्योंकि आपका डेटाबेस केवल btree सूचकांक का समर्थन करता है?) या आप एक जीएसटीटी संगत समाधान का उपयोग कर सकते हैं? (देखें: http://www.postgresql.org/docs/9.1/static/gist.html) – SingleNegationElimination
@TokenMacGuy: मैंने अभी तक कुछ भी तय नहीं किया है। मैं इसके साथ EntityFramework का उपयोग करना पसंद करूंगा, जो मुझे विश्वास है कि मुझे इन्हें सीमित करता है: http://msdn.microsoft.com/en-us/data/dd363565 – mpen
एनीम में एक मंगा समुदाय वास्तव में एक समाधान है जो आपको देता है प्रतिशत में छवियों के लिए निकटता। http://saucenao.com/ और iqdb प्रोजेक्ट http://iqdb.org/ इसका उपयोग करें। आप उनसे पूछ सकते हैं। हालांकि वे एक कस्टम डेटाबेस का उपयोग कर रहे हैं! – sinni800