定义一个函数SubSamp,输入为彩色图像文件名,输出并显示尺寸减半的彩色
图像(原始、水平翻转、垂直翻转、中心区域变红)。必须使用控制语句,在命令窗口成功调用!
因为彩色图像是3维的,黑白图像是2维的。如果我们在对图像尺寸减半时仍然使用
>> f=imread('e:\1.png'); >> f=f(1:2:end,1:2:end); >> imshow(f);
就会发现出来三个并排排列的灰色图像
所以要在后面再加1维即可
全部代码如下
function [img1,img2,img3,img4]=SubSamp(filename); img1=imread(filename); for i=1:4 figure switch i case 1 img1=img1(1:2:end,1:2:end,:);%使图像尺寸减半 imshow(img1); case 2 img2=img1(end:-1:1,:,:);%使图像水平翻转 imshow(img2); case 3 img3=img1(:,end:-1:1,:);%使图像垂直翻转 imshow(img3); case 4 %使图像中心区域100*100变红 [m,n,t]=size(img1); img4=img1; img4(m/2-50:m/2+50,n/2-50:n/2+50,1)=255; img4(m/2-50:m/2+50,n/2-50:n/2+50,2)=0; img4(m/2-50:m/2+50,n/2-50:n/2+50,3)=0; imshow(img4); end end
运行结果
时间: 2024-10-07 06:33:01