تحويل الرادون لجافا

يمكنك قراءة نظرية هذا التحول على رابط ويكيبيديا هذا.

الوصف

سمعت لأول مرة اسم هذا التحول أثناء قراءة المقال الذي اشتريته من IEEE للحصول على شبكة رقعة الشطرنج لبرمجة وظيفة في تطبيق ChessPdfBrowser.

IEEE المادة .....


هذه مكتبة مع تطبيقي لهذا التحويل لـ Java.


تتم مشاركة رمز المكتبة أيضًا على GitHub. رابط إلى GitHub .....

وصف الكود

نظرًا لأن المعالجة تستغرق وقتًا طويلاً ، توفر المكتبة منفذًا يعيد المستقبل ، لتجنب منع تنفيذ المتصل أثناء المعالجة.

يتم دعم العمليات الحسابية المتوازية بسهولة لاستخدام خيوط متعددة.


تحسب فئة RadonTransformCalculator قيم التحويل وتخزنها في صفيف ثنائي الأبعاد.


بعد المعالجة ، يمكن تحليل قيم التحويل باستخدام مؤشرات الصفيف للوصول إليها.

يمكن ترجمة هذه المؤشرات بسهولة إلى عنصر (Rho, Theta) (, ) عن طريق استدعاء الدالة على كائن النتيجة ، وهو من النوع RadonTransformResult.


من الممكن أيضًا الحصول على القيم القصوى N ، مع إعطاء خيار التخلص من التكرارات (مختلفة ( ، ) قريبة جدًا) من خلال التسامح ، ويمكن أيضًا تطبيق مرشح في نفس الوقت على ( ، ) لتجاهل مسبقًا تلك التي لا تفي بشروطنا.

على سبيل المثال ، إذا كنت تبحث عن خطوط أفقية أو رأسية تقريبًا ، وهناك قطري ذو قيمة عالية جدًا ، فيمكن التخلص من هذه القيمة.

ويندوز

تحويل الرادون لجافا (2026)

تحميل

أمثلة

image
image

يتم تضمين مثال في الملف المضغوط الذي يحتوي على رمز المكتبة ، والذي سنشرحه أدناه.

يهدف هذا المثال إلى الحصول على جوانب المربع الذي يحدد رقعة الشطرنج في الصورة المستهدفة.

الصورة المدخلة لحساب تحويل الرادون هي كشف الحافة (نوع Canny) للصورة المستهدفة.


يتم حساب التحويل لهذه الصورة من نوع Canny ، ثم يتم الحصول على الخطوط الرئيسية الأربعة.

ويتحقق ذلك من خلال استدعاء الدالة للحصول على أعلى قيم التحويل ، وتمريرها أربعة كعدد العناصر التي يجب البحث عنها.

بالإضافة إلى ذلك ، يتم أيضًا تمرير التسامح المناسب لـ ( ، ) لتجاهل التكرارات ، وفلتر لتجاهل قيم التي ليست أفقية أو عمودية تقريبًا.


في المثال ، يتم الحصول على هذه الخطوط الأربعة التي تحدد جوانب رقعة الشطرنج بنجاح باستخدام هذه الأدوات.

مع المكتبة ، يمكن حساب تقاطعات هذه الخطوط ، وبالتالي الحصول على القمم.

يتم استدعاء فارز الرأس أيضًا بحيث عندما يتم رسم الخطوط بالتتابع ، لا يحدث "تأثير bowtie".


ويتم هذا الترتيب الرأسي عن طريق التكرار من خلال تبديل ترتيب الرأس حتى يتم العثور على أول واحد يفي بمعيار الملاءمة.

المعيار المختار هو أن القمم في هذا الترتيب تحدد مضلع محدب (مثل المربع الذي نريد اكتشافه).

للقيام بذلك ، من الضروري التحقق من أن دوران الرؤوس دائمًا في نفس الاتجاه (في اتجاه عقارب الساعة أو عكس عقارب الساعة).

للحصول على اتجاه دوران ثلاثة رؤوس متتالية، ببساطة حساب علامة على المنتج الصليب من اثنين من ناقلات المعرفة من قبل تلك الرؤوس الثلاثة.

ولذلك، فإن الشرط الضروري والكافي للرؤوس في ذلك من أجل تعريف المضلع محدب هو أن جميع المجموعات الفرعية مرتبة من ثلاثة رؤوس متتالية (على افتراض قائمة دائرية) لديها نفس علامة في المنتج عبر محسوبة بهذه الطريقة.


بعد هذه الحسابات ، نرسم الحواف التي تربط القمم ، ونحصل على الصورة النهائية.

المهمة أُنجزت!


image
image

التنزيلات