如何用matlab实现图像上下翻转

不能使用matlab自带函数
2024-11-22 12:28:04
推荐回答(4个)
回答1:

可以参考下面的代码:

moon=imread('moon.tif');

figure;

subplot(121);

imshow(moon);

moon=flipud(moon);%上下翻转

subplot(122);

imshow(moon);

展资料:

Matlab参考函数

ones()创建一个所有元素都为1的矩阵,其中可以制定维数,1,2….个变量

zeros()创建一个所有元素都为0的矩阵

eye()创建对角元素为1,其他元素为0的矩阵

diag()根据向量创建对角矩阵,即以向量的元素为对角元素

horcatC=[A,B],水平聚合矩阵,还可以用cat(1,A,B)

vercatC=[A;B],垂直聚合矩阵,还可以用cat(2,A,B)

参考资料来源:百度百科-MATLAB

回答2:

clear
A= imread('C:\Users\revoll\Desktop\1.png');
B=size(A);
imshow(A);
for i=1:3
a0=[];
for j=1:B(1)
L=A(:,:,i);
H=[L(j,:);a0];
a0=H;
end
M(:,:,i)=H;
end
figure
imshow(M)
saveas(gcf,'flipud.png');

为什么不试试我的??我的计算量要比楼上的小很多啊。楼上的是上下和左右都翻转了,不是你要的上下翻转呀。。。姐姐or哥哥。。原始图像和最后的图像都给你输出了,你把得到的图像的窗口移动一点,后面就是原来的图像。只是盖住了。。
注明:如果用matlab自带函数的话用:flipud 函数。嘻嘻。。

回答3:

用下面的程序,可以读取加保存,只要把图片名字改一下就行了。
close all; clear all;
pic=imread('Pic.jpg');
[L,W,K]=size(pic);
for i=1:L
pic1(i,:,:)=pic(L-i+1,:,:);
end

for j=1:W
pic2(:,j,:)=pic1(:,W-j+1,:);
end
figure;
imshow(pic2)
saveas(gcf,'Pic_neu.jpg');

回答4:

图像翻转命令:
e(:,:,1)=flipud(b);
e(:,:,2)=flipud(c);
e(:,:,3)=flipud(d);
imshow(e)