আমার কাছে একটি চিত্র রয়েছে যা বাইটস (বিটম্যাপের মতো ম্যাট্রিক্স) এর ম্যাট্রিক্সের মাধ্যমে উপস্থাপিত হয়। উদাহরণ চিত্র প্রদর্শিত হয় Picture 1
।
লক্ষ্যটি হ'ল কিছু প্রদত্ত চিত্রের সেরা ঘূর্ণন কোণ খুঁজে পাওয়া । চিত্রটি যখন সর্বোত্তম কোণে ঘোরানো হয়, তখন আয়তক্ষেত্রটি যা এক্স এবং ওয়াই অক্ষের সমান্তরাল এবং চিত্রটি ছোট আকারের থাকে।
চিত্রটি নথিভুক্ত আয়তক্ষেত্রগুলিকে ছবিগুলিতে হালকা-ধূসর দেখানো হয়েছে। এর মধ্যে Picture 2
আপনি দেখতে পাচ্ছেন যে চিত্রটির আদর্শ ঘূর্ণনটি প্রায় 30 ডিগ্রি ঘড়ির কাঁটার দিকে।
এখন, আমি এই কোণটি কীভাবে সন্ধান করব তা আমি অ্যালগরিদম জানি, তবে এটি আমার কাছে মনে হয় এটি অত্যন্ত অদক্ষ। এটা এইভাবেই চলে:
- 0 থেকে 45 পর্যন্ত কোণে লুপ করুন।
- বর্তমান কোণে, প্রতিটি চিত্র পয়েন্টের জন্য নতুন, ঘোরানো, অবস্থান গণনা করুন
- আয়তক্ষেত্রের সীমানা সন্ধান করুন যাতে ফিগার রয়েছে (সর্বনিম্ন এবং সর্বাধিক x, y) এবং এখন অবধি সেরা ম্যাচ হলে এটি নিবন্ধ করুন
- পরবর্তী কোণ
এটি এক ধরণের হিংস্র শক্তি পদ্ধতি এবং ছোট পরিসংখ্যানগুলির জন্য ভাল এবং যুক্তিসঙ্গত দ্রুত কাজ করে। তবে, আমার 10 মিলিয়ন পয়েন্ট পর্যন্ত পরিসংখ্যানগুলি নিয়ে কাজ করা দরকার এবং আমার অ্যালগোরিদম ধীর হয়ে যায়।
এই সমস্যার জন্য ভাল অ্যালগরিদম কি হতে পারে?