matlab中有没有一个矩阵可以把已知的图片矩阵左右翻转?
matlab中有没有一个矩阵可以把已知的图片矩阵左右翻转?我想通过矩阵乘法实现可以的吗?我不想通过函数。...
matlab中有没有一个矩阵可以把已知的图片矩阵左右翻转?我想通过矩阵乘法实现可以的吗?我不想通过函数。
展开
3个回答
展开全部
%矩阵乘需要构造和你图片像素大小相同初等变换矩阵,相对函数比较麻烦而且直观性不好。
%下面是直接调用函数方法
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
%下面是直接调用函数方法
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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
flipud函数,你可以直接在命令窗口中doc flipud查看用法,用来翻转矩阵的
追问
我想打出一个n乘以n的矩阵,从左下角到右上角都是1,其他为0,怎样快速地打出来?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的,通过互换元素实现,左右对称位置的元素互换不就可以了么?
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
这样可以不?
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
这样可以不?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询