كيفية اختبار قرب الخطوط (تحويل hough) في OpenCV

StackOverflow https://stackoverflow.com/questions/1372047

  •  21-09-2019
  •  | 
  •  

سؤال

(هذه متابعة من هذا السؤال السابق).

تمكنت من استخدام تحويلات OpenCV / Hough بنجاح للكشف عن الخطوط في الصور (النص الممسوح) ؛ في البداية ، ستكتشف العديد من الخطوط (سطر واحد على الأقل لكل سطر من النص) ، ولكن عن طريق ضبط المعلمة "العتبة" عبر التجربة والخطأ ، فإنه يكتشف الآن خطوط "حقيقية" فقط.

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

مشكلتي هي أن تحويل hough يكتشف في بعض الأحيان سطرين حيث يوجد واحد فقط ؛ هذان الخطان قريبان جدًا من بعضهما البعض و (على ما يبدو) بالتوازي.

=> كيف يمكنني تحديد أن سطرين متوازيين تقريبًا وقريبين جدًا من بعضهما البعض؟ (حتى أتمكن من الاحتفاظ بواحد فقط).

هل كانت مفيدة؟

المحلول

إذا كنت تستخدم Hough القياسية أو المتعددة ، فسوف ينتهي بك الأمر مع إحداثيات Rho و Theta للخطوط في الإحداثيات القطبية. Rho هي المسافة إلى الأصل ، وعادة ما تكون Theta الزاوية بين الخط المكتشف والمحور Y. دون النظر في تفاصيل تحويل Hough في OpenCV ، هذه قاعدة عامة في تلك الإحداثيات: سيكون سطرين متوازيين تقريبًا وقريبين جدًا من بعضهما البعض عندما: - ثيتا متطابقة تقريبًا و RHOs متطابقة تقريبًا أو - thetas تقترب من 180 درجة على بعضها

وآمل أن يجعل الشعور.

نصائح أخرى

هذا مثير للاهتمام حول أن theta هو الزاوية بين الخط والمحور ص.

بشكل عام ، يتم تصور قيم Rho و Theta على أنها زاوية من المحور السيني إلى الخط عموديًا على الخط المعني. ثم Rho هو طول هذا الخط العمودي. وبالتالي ، فإن theta = 90 و rho = 20 يعني خط أفقي 20 بكسل من الأصل. تظهر صورة جميلة على هوغ تحويل السؤال

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top