版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26399665/article/details/53215221
最近刚开始学图像处理,因此写下记录下来。
图像平移原理
src=imread('Fig3.tif');
[m,n]=size(src);
des=zeros(m,n);
left=[1,0,-50;0,1,-50;0,0,1];//向左上方向移动50
for i=1:m
for j=1:n
t=left*[i;j;1];
if t(1,1)<=m&&t(2,1)<=n&&t(1,1)>=1&&t(2,1)>=1
des(t(1,1),t(2,1))=src(i,j);
end
end
end
imshow(uint8(des));
图像旋转原理:
src=imread('Fig3.tif');
[m,n]=size(src);
des=zeros(m,n);
left=[2^1/2,2^1/2,0;-2^1/2,2^1/2,0;0,0,1];//向左旋转45度
for i=1:m
for j=1:n
t=left*[i;j;1];
if t(1,1)<=m&&t(2,1)<=n&&t(1,1)>=1&&t(2,1)>=1
des(t(1,1),t(2,1))=src(i,j);
end
end
end
imshow(uint8(des));
水平镜像原理
src=imread('Fig3.tif');
[m,n]=size(src);
des=zeros(m,n);
left=[-1,0,n;0,1,0;0,0,1];
for i=1:m
for j=1:n
t=left*[i;j;1];
if t(1,1)<=m&&t(2,1)<=n&&t(1,1)>=1&&t(2,1)>=1
des(t(1,1),t(2,1))=src(i,j);
end
end
end
imshow(uint8(des));
垂直镜像原理:
src=imread('Fig3.tif');
[m,n]=size(src);
des=zeros(m,n);
left=[1,0,0;0,-1,m;0,0,1];
for i=1:m
for j=1:n
t=left*[i;j;1];
if t(1,1)<=m&&t(2,1)<=n&&t(1,1)>=1&&t(2,1)>=1
des(t(1,1),t(2,1))=src(i,j);
end
end
end
imshow(uint8(des));
放大原理:
src=imread('Fig3.tif');
[m,n]=size(src);
des=zeros(m,n);
left=[2,0,0;0,2,0;0,0,1];//放大两倍
for i=1:m
for j=1:n
t=left*[i;j;1];
if t(1,1)<=m&&t(2,1)<=n&&t(1,1)>=1&&t(2,1)>=1
des(t(1,1),t(2,1))=src(i,j);
end
end
end
imshow(uint8(des));
缩小原理:
src=imread('Fig3.tif');
[m,n]=size(src);
des=zeros(m,n);
left=[1/2,0,0;0,1/2,0;0,0,1];
for i=1:m
for j=1:n
t=left*[i;j;1];
if t(1,1)<=m&&t(2,1)<=n&&t(1,1)>=1&&t(2,1)>=1
des(round(t(1,1)),round(t(2,1)))=src(i,j);
end
end
end
imshow(uint8(des));
今天就到这里,下次再见