Image processing

تابع Fspecial در متلب

تابع fspecial یکی از توابع تولید کرنل در متلب می باشد که به صورت پیش فرض تعدادی از روش های مشخص را شامل می شود. در این بخش بجز روش های سوبل و پرویت تشریح می شود.
برای درک بهتر عملکرد تابع، تصاویر نتایج مثال زیر را تفسیر می کنیم.

hsize = 3;
radius = 3;
sigma =1;
I = imread('cameraman.tif');
for i = 1:6

    if i ==1

        kernel = fspecial('average',hsize);
    elseif i ==2
        kernel = fspecial('disk',radius);
    elseif i == 3
        kernel = fspecial('gaussian',hsize,sigma);
    elseif i == 4
        alpha = 0.1;
        kernel = fspecial('laplacian',alpha);
    elseif i == 5
        kernel = fspecial('log',hsize,sigma);
    elseif i == 6
        len = 5;
        theta = 10;
        kernel = fspecial('motion',len,theta);
    end

    img = imfilter(I,kernel);
    subplot (2,3,i) ,imshow(img)
    
    
end

این کد نوشته شده تمام حالت های تابع را بر روی تصویر کمرامن اعمال می کند (بجز سوبل و پرویت). حلقه if کرنل را انتخاب می کند و حلقه for ان را بر روی تصویر با تابع imfilter اعمال می کند. نتیجه به صورت زیر خواهد بود.
همانطور که می بینید 3 فیلتر متوسط گیری، و دایره ای و گوسی نقش مات کننده تصویر را دارند. بنابراین جزییات تصویر از بین می رود. (در حوزه فرکانس این فیلتر ها نقش فیلتر های پایین گذر را ایفا می کند.)
تصویر 4 ام با عنوان لاپلاسین در واقع فیلتری مبتنی بر مشتق مرتبه دوم تصویر می باشد. این فیلتر در حوزه فرکانس همانند فیلتر بالا گذر عمل میکند. در این فیلتر لبه ها که نشان دهنده تغییرات شدت روشنایی در تصویر می باشد آشکار سازی می شود.
تصویر 5 ام، log نیز جز فیلتر های بالاگذر محسوب می شود و نقش آشکار سازی لبه را دارد.
در نهایت فیلتر motion شبیه سازی تکان های دوربین فیلم برداری را ممکن می کند که تغییرات چرخشی theta و لغزشی len را به عنوان ورودی گرفته و بر تصویر اعمال می کند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *