matlab中有没有一个矩阵可以把已知的图片矩阵左右翻转?
发布网友
发布时间:2022-04-25 12:00
我来回答
共3个回答
热心网友
时间:2024-05-31 14:07
%矩阵乘需要构造和你图片像素大小相同初等变换矩阵,相对函数比较麻烦而且直观性不好。
%下面是直接调用函数方法
im=imread('test.png');
figure(1);
image(im)
axis off
for i=1:3
rim(:,:,i)=rot90(im(:,:,i));
lim(:,:,i)=rot90(im(:,:,i),3);
uim(:,:,i)=rot90(im(:,:,i),2);
mlrim(:,:,i)=fliplr(im(:,:,i));
mudim(:,:,i)=flipud(im(:,:,i));
end
figure(2);%左转90°
image(rim)
axis off
figure(3);%右转90°
image(lim)
axis off
figure(4);%转180°
image(uim)
axis off
figure(5);%左右镜像
image(mlrim)
axis off
figure(6);%上下镜像
image(mudim)
axis off
热心网友
时间:2024-05-31 14:07
flipud函数,你可以直接在命令窗口中doc flipud查看用法,用来翻转矩阵的追问我想打出一个n乘以n的矩阵,从左下角到右上角都是1,其他为0,怎样快速地打出来?
热心网友
时间:2024-05-31 14:08
最简单的,通过互换元素实现,左右对称位置的元素互换不就可以了么?
a = [1 2 3 4;2 3 4 5] ;
n = size(a,2);
if mod(n,2)==0
a(1:n/2,:) = a(n/2+1:end,:);
esle
a(1:(n-1)/2,:) = a((n+1)/2:end,:);
end
这样可以不?