先看效果
变换前的静止图:
变换后:
matlab实现
clear all; clc; close all;
img = imread('orig_img.bmp');
img = imresize(img, [124 124]);
center = [64,50];
count = 1;
for p = 1:-0.1:0.6
x_low = 50*(1-p)+1;
x_high = 124 - (124 - 50)*(1-p);
y_low = 64*(1-p)+1;
y_high = 124 - (124 - 64)*(1-p);
img2 = img(x_low:x_high,y_low:y_high,:);
img2 = imresize(img2, [124 124]);
figure(count);
imshow(img2);
[I,map]=rgb2ind(img2,256);
if(count==1)
imwrite(I,map,'movefig.gif','DelayTime',0.3,'LoopCount',Inf)
else
imwrite(I,map,'movefig.gif','WriteMode','append','DelayTime',0.1)
end
count = count + 1;
end
for p = 1:5
imwrite(I,map,'movefig.gif','WriteMode','append','DelayTime',0.1)
end