نوشته‌ها

شبیه سازی با متلب

روش های مختلف shrinking و zooming

روش های بزرگنمایی با نوعی oversampling این کار را انجام می دهند. دو روش متداول zooming عبارتند از :
1- Nearest neighbor interpolation : این روش با تکرار کردن مقادیر پیکسل ها عملیات بزرگ نمایی را انجام می دهد.

 

آموزش متلب

2- bilinear interpolation: این روش توسط پیدا کردن درون یابی خطی بین پیکسل های مجاور عملیات بزرگ نمایی را انجام می دهد. این کار می تواند توسط پیدا نمودن مقدار متوسط دو پیکسل مجاور و استفاده از آن به عنوام مقدار پیکسل بین آن دو استفاده نماید. می توان این روش را ابتدا برای سطرها و سپس برای ستون ها انجام داد.

آموزش متلبدر این  شبیه سازی روش نزدیکترین همسایه توسط تابع nearest و شبیه سازی روش bilinear توسط تابع bilinearInterpolation انجام می شود.
روش shriniking تصویر نیز با حذف برخی پیکسل ها صورت می پذیرد. (undersampling)

کد متلب:

% b. Zooming and Shrinking

% Shrinking
clc;
clear all;
close all;
A=imread(‘cameraman.tif’);
display(‘Input Image ==> cameraman.tif’);
f=input(‘Enter the shrinking factor of the image: ‘);
s=size(A);
s1=s/f;
k=1;
l=1;
for i=1:s1
for j=1:s1
B(i,j)=A(k,l);
l=l+f;
end
l=1;
k=k+f;
end
figure,imshow(A)
title(‘Original Image’);
figure,imshow(B)
title(‘Shrinked Version’);

%% Zooming

%Nearest Neighbor Interpolation

f1=input(‘Enter the factor by which the image is to be Zoomed: ‘);
P = nearest(A,f1);
imshow(P)
title(‘Zoomed Image (Nearest Neighbor Interpolation)’)

%Bilinear Interpolation

out_dims = input(‘Enter the dimention of image to be Zoomed: [x y] (x,y>256)(example:[512 512]) ‘);
[out] = bilinearInterpolation(A, out_dims);
imshow(out)
title(‘Zoomed Image (Bilinear Interpolation)’)