এটি পুরোপুরি নির্ভর করে আপনি কীভাবে অ্যালগরিদম হতে চান তার উপর নির্ভর করে।
উদাহরণস্বরূপ, এখানে কয়েকটি সমস্যা রয়েছে:
- ক্রপযুক্ত চিত্রগুলি বনাম একটি ক্রপযুক্ত চিত্র
- একটি পাঠ্য সহ চিত্রগুলি বনাম অন্য একটি যুক্ত করা হয়েছে
- মিররড ইমেজ
সবচেয়ে সহজ এবং সরল অ্যালগরিদম আমি এর জন্য দেখেছি প্রতিটি প্রতিচ্ছবিতে নিম্নলিখিত পদক্ষেপগুলি করা:
- ছোট্ট কিছুতে স্কেল করুন, যেমন x৪x64৪ বা 32x32, দিক অনুপাতটিকে উপেক্ষা করুন, নিকটস্থ পিক্সেলের পরিবর্তে একটি সংমিশ্রক স্কেলিং অ্যালগরিদম ব্যবহার করুন
- রঙের ব্যাপ্তিগুলি স্কেল করুন যাতে গা dark়তম কালো এবং হালকা সাদা হয়
- চিত্রটি ঘোরান এবং ফ্লিপ করুন যাতে সর্বাধিক দীর্ঘতম রঙ শীর্ষ বাম দিকে থাকে এবং তারপরে উপরের ডানদিকে আরও গাer় হয়, নীচে-বামটি আরও গাer় হয় (অবশ্যই যতদূর সম্ভব)
একটি সংমিশ্রক স্কেলিং অ্যালগরিদম সম্পাদনা হ'ল 10 পিক্সেল স্কেল করার সময় এটি একটি ফাংশন ব্যবহার করে তা করে যা সমস্ত 10 পিক্সেলের রঙ নেয় এবং সেগুলিকে এক সাথে সংযুক্ত করে। গড়, গড়-মান বা বিউকিউবিক স্প্লাইন্ডের মতো জটিল জটিলগুলির মতো অ্যালগরিদমগুলির সাহায্যে করা যেতে পারে।
তারপরে দুটি চিত্রের মধ্যে গড় দূরত্বের পিক্সেল-বাই-পিক্সেল গণনা করুন।
একটি ডেটাবেজে সম্ভাব্য ম্যাচটি দেখার জন্য, পিক্সেল রঙগুলিকে পৃথক কলাম হিসাবে ডাটাবেসে সংরক্ষণ করুন, সেগুলির একটি গুচ্ছকে সূচী করুন (তবে সমস্ত কিছু নয়, আপনি যদি খুব ছোট চিত্র ব্যবহার না করেন), এবং একটি কোয়েরি করুন যা প্রতিটির জন্য একটি পরিসীমা ব্যবহার করে পিক্সেল মান, যেমন। প্রতিটি চিত্র যেখানে ছোট ইমেজের পিক্সেলটি আপনি দেখতে চান সেই চিত্রটির -5 এবং +5 এর মধ্যে রয়েছে।
এটি কার্যকর করা সহজ, এবং চালাতে মোটামুটি দ্রুত, তবে অবশ্যই বেশিরভাগ উন্নত পার্থক্য পরিচালনা করবে না। তার জন্য আপনার আরও অনেক উন্নত অ্যালগরিদম প্রয়োজন।