آموزش پردازش تصویر – فصل پنجم کتاب پردازش تصویر گنزالس (قسمت اول)

آموزش پردازش تصویر – فصل پنجم کتاب پردازش تصویر گنزالس (قسمت اول)

در قسمت اول از فصل پنجم کتاب پردازش تصویر گنزالس، روش های حذف نویز و حذف لرزش های دست که باعث محو شدگی در تصویر می شود(blurring ) را بررسی می کنیم، به این کار ترمیم تصویر یا Image Restoration می گویند. ابتدا نحوه اعمال انواع نویز روی تصاویر در متلب توضیح داده خواهد شد و سپس چند روش برای ترمیم تصویر معرفی می شود.

اعمال نویز روی تصویر

با استفاده از دستور imnoise متلب می توان انواع نویز ها شامل گوسی، اسپکل، نمک و فلفل و پواسن را روی تصویر اعمال کرد.

در زیر نحوه اعمال نویز روی تصویر در متلب نشان داده شده است:

که نتیجه به صورت زیر می شود:

 

fig1

تابع کلی برای فیلترهای مکانی

قبلا فیلتر های مکانی مورد بررسی قرار گرفت. اینجا یک تابع کلی معرفی می شود که شامل تمام فیلترهای مکانی است که به صورت خودکار آن را روی تصویر اعمال می کند. این تابع که جزو تولباکس متلب نیست spfilt نام دارد که در سورس کتاب گنزالس موجود می باشد.

انواع فیلترهایی که این تابع پشتیبانی می کند به صورت جدول زیر است :

نحوه استفاده از تابع به صورت زیر است:

spfilt(g,type,m,n,parameter)

g تصویر مورد نظر، type نوع فیلتر، m و n ابعاد فیلترو parameter پارامترهای فیلتر را مشخص می کند.

نوع فیلتر براساس جدول زیر تعیین می شود:

 

amean Arithmetic mean
gmean Geometric mean
harmean Harmonic mean
chmean Contraharmonic mean
median Median
max max
min min
midpoint midpoint
atrimmed Alpha-trimmed mean

 

برای اطلاعات بیشتر توضیحات دستور را مشاهده کنید.

برای نمونه :

 

فیلترهای تطبیقی

فیلتر های تطبیقی یا adaptive filter به فیلترهایی گفته می شود که براساس ویژگی های داده (سیگنال یا تصویر) عمل می کند. در فصل های قبل فیلترهای گفته شده به صورت ثابت روی تصویر اعمال می شدند. در اینجا فیلتر میانگین تطبیقی بررسی می شود.

این فیلتر به گونه ای عمل می کند که تشخیص می دهد نقطه مورد نظر نویز است یا نه ، اگر نویز باشد با مقدار میانه جایگزین مشود درغیر اینصورت مقدار خود پیکسل دست نخورده باقی می ماند.

 

در مثال زیر تفاوت کاملا محسوس است :

 

نتیجه به صورت زیر است :

sap noisemedianadaptiv median

حذف نویز (دنویزینگ) و حذف لرزش دست هنگام عکس برداری

استفاده از فیلتر وینر

انواع روش ها برای حذف نویز وجود دارد، اینجا از وینر فیلتر برای حذف نویز استفاده می کنیم. وینر فیلتر به گونه ای عمل می کند که اختلاف بین تصویر اصلی با تصویر پیش بینی شده حداقل شود. از دستور deconvwnr در متلب برای اعمال وینر فیلتر استفاده می شود. در زیر یک مثال برای نشان دادن نحوه استفاده از این تابع آورده شده است.

ابتدا لازم است تا روی تصویر نویز و افکت حرکتی اضافه کنیم:

 

سپس وینر فیلتر را با پارامترهای مختلف می توان به صورت زیر اعمال کرد:

 

نتیجه به صورت زیر می شود:

denoise

استفاده از فیلتر حداقل مربعات مقید(constrained least squares )

این روش در تولباکس متلب با عنوان regularized filtering آمده است. نحوه عمکلرد این فیلتر نیاز به توضیحات مفصل دارد. در اینجا نحوه استفاده از این فیلتر برای حذف نویز و از بین بردن حرکت و لرزش تصویر یا اصطلاحا blurring تصویر کاربرد دارد.

از دستور زیر برای اینکار استفاده می کنیم:

Fr=deconvreg(g,PSF,NOISEPOWER,RANGE)

در این دستور g تصویر دارای ایراد، PSF تابع توزیع نقطه ای، NOISEPOWER توان نویز و RANGE بازه ای است که الگوریتم برای یافتن راه حل جستجو می کند(مقدار پیش فرض ان برابر [1e-10 1e10] است).

در مثال زیر از همان تصویر و پارامترهای مثال قبل استفاده شده است:

 

deconvreg

 

 

 

 

 

در صورت استفاده از مطالب این سایت لطفا به سایت ارجاع دهید

دیدگاه شما

( الزامي )

(الزامي)