我们这节详细说一下如何进行图像的平移,这个是我们的平移的数学模型,而我们要做的就是用代码来实现!
故可以实现代码:
I = imread('lena_color_512.tif');
a = 50; b = 50; %设置平移坐标
J1 = move(I, a, b); %移动原图;
a = -50; b = 50;
J2 = move(I, a, b);
a = 50; b = -50;
J3 = move(I, a, b);
a = -50; b = -50;
J4 = move(I, a, b);
set(0, 'defaultFigurePosition', [100, 100, 1000, 500]); %修改图像位置的默认设置
set(0, 'defaultFigureColor', [1 1 1]); %修改图形背景颜色的设置
figure(1)
subplot(121), imshow(J1), axis on;
subplot(122), imshow(J2), axis on;
figure(2)
subplot(121), imshow(J3), axis on;
subplot(122), imshow(J4), axis on;
这里调用一个函数
function J = move(I, a, b)
[M, N, G ] = size(I); %获取图像尺寸;
I = im2double(I); %数据类型转换;
J= ones(M,N,G); %初始化矩阵为1,大小与原图相同
for i = 1: M
for j = 1: N
if ((i+a >= 1) && (i+a <= M) && (j+b>=1) && (j+b <= N)); %判断坐标是否超出范围;
J(i+a, j+b, :) = I(i, j, :);
end
end
end
end
图一:
向右平移50及向下平移50
图二:
向右平移50及向上平移50
图三:
向左平移50及向下平移50
图四:
向左平移50及向上平移50
一篇简单的图像平移就完成啦!