استعادة الصور الضبابية وغير البؤرية باستخدام مرشح Wiener. التنفيذ في C ++ OpenCV

استمرارًا للمقالة حول استعادة الصور الباهتة وغير الواضحة ، أريد مشاركة نتائج استعادة الصور الحقيقية باستخدام مرشح Wiener. تم استخدام OpenCV 3.4 كمكتبة معالجة الصور. الكاميرا - نيكون D320 ، عدسة نيكون DX AF-S NIKKOR مقاس 18-105 مم ، وإلغاء ضبط بؤرة يدوي ، وإطلاق النار بدون حامل ثلاثي الأرجل.


نتائج استعادة الصور غير المركزة


أثناء إلغاء الضبط البؤري ، يتم تقريب نظام التشويه بشكل جيد من خلال وظيفة تشتت النقطة الأسطوانية (PSF) لنصف القطر r.


o_psf
PSF أسطواني


فيما يلي نتائج استعادة ثلاث صور غير محددة التركيز لنفس الكائن (صفحة الكتاب). تم تنفيذ التصوير بدون حامل ثلاثي القوائم من مسافة حوالي 50 سم ، وزادت درجة إلغاء تركيز العدسة يدويًا من إطار إلى إطار. تم اختيار معلمات مرشح Wiener r ونسبة الإشارة إلى الضوضاء (SNR) يدويًا بطريقة تضمن أفضل جودة مرئية للاستعادة. للتعويض عن تأثيرات الحواف ، يتم إجراء خفض سلس في سطوع الصورة عند الحواف.


o1f
الصورة أ


o1r_gamma-var_640
نتيجة استرداد الصورة A. r = 53 ، SNR = 5200


o2f
الصورة ب


o2r_gamma-var_640
نتيجة استعادة الصورة B. r = 66 ، SNR = 4400


o3f
الصورة ج


o3r_gamma-var_640
نتيجة استعادة الصورة C. r = 102 ، SNR = 7100


يمكن ملاحظة أنه حتى مع عدم التركيز بشكل ملحوظ ، فإن سهولة قراءة النص عمليًا
مرمم بالكامل.


نتائج استعادة الصور الباهتة للوحات الترخيص


يحدث ضبابية الصورة عندما تتحرك الكاميرا والهدف بالنسبة لبعضهما البعض أثناء التعرض. ضع في اعتبارك الحالة فقط عندما يكون الهدف يتحرك خطيًا بالنسبة للكاميرا الثابتة. في هذه الحالة ، يتم تقريب النظام المشوه بشكل جيد بواسطة PSF في شكل قطعة يتم توجيهها على طول حركة الجسم. يتم تعريف PSF من خلال معلمتين: طول L وزاوية تزييت THETA.


m_psf
PSF مع تزييت خطي


فيما يلي صورة مشوهة لسيارتين ، تم الحصول عليها مع تعرض قصير غير كاف ، مما أدى إلى ظهور ضبابية ملحوظة.


م 1
صورة مشوهة لسيارتين


فيما يلي نتائج استعادة أرقام كلتا السيارتين باستخدام فلتر Wiener. تم اختيار المعلمات L و THETA و SNR بطريقة تضمن أفضل جودة بصرية لاستعادة رقم السيارة.


م 2
نتيجة استعادة رقم سيارة ساطع. L = 78 ، THETA = 15 ، SNR = 300


م 3
نتيجة استعادة رقم سيارة مظلم. L = 125 ، THETA = 0 ، SNR = 700


يمكن ملاحظة أنه حتى مع التشحيم الكبير ، من الممكن استعادة إمكانية قراءة الأرقام
سيارات.


يتم تنفيذ خوارزمية التصفية في C ++ OpenCV كتطبيق وحدة تحكم.
يمكن العثور على رموز المصدر في الروابط أدناه.


https://github.com/VladKarpushin/out_of_focus_deblur/tree/full_color_version
https://github.com/VladKarpushin/motion_deblur
https://docs.opencv.org/4.0.0-alpha/de/d3c/tutorial_out_of_focus_deblur_filter.html
https://docs.opencv.org/4.0.0-alpha/d1/dfd/tutorial_motion_deblur_filter.html


الأدب


  1. آر سي غونزاليس ، ري وودز. أساسيات الصورة الرقمية. 1987.
  2. I.S. Gruzman ، V.S. كيريشوك ، ف. Kosykh، G.I. Peretyagin، A.A. سبيكتور. معالجة الصور الرقمية في نظم المعلومات. 2000.

Source: https://habr.com/ru/post/ar424987/


All Articles