matlab作业 彩色图像读写实验

来源:互联网 发布:mac读取不了移动硬盘 编辑:程序博客网 时间:2024/06/12 00:58
定义一个函数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);    endend            

运行结果

1 0
原创粉丝点击