定义一个函数SubSamp,输入为彩色图像文件名,输出并显示尺寸减半的彩色图像(原始,水平翻转,中心区域变红)。必须使用控制语句,在命令窗口成功调用!
m文件中编写函数
function[im1,im2,im3,im4]=SubSamp(filename)
im=imread(filename);
[M,N]=size(im(:,:,1));
c1=double(uint16(M/4));
c2=double(uint16(N/4));
for i=1:3
switch i
case 1
imR=im(:,:,1);
imR1=imR(1:2:end,1:2:end);
imR2=imR1(:,end:-1:1);
imR3=imR1(end:-1:1,:);
imR4=imR1;
imR4(c1-50:c1+49,c2-50:c2+49)=255;
case 2
imG=im(:,:,2);
imG1=imG(1:2:end,1:2:end);
imG2=imG1(:,end:-1:1);
imG3=imG1(end:-1:1,:);
imG4=imG1;
imG4(c1-50:c1+49,c2-50:c2+49)=0;
case 3
imB=im(:,:,3);
imB1=imB(1:2:end,1:2:end);
imB2=imB1(:,end:-1:1);
imB3=imB1(end:-1:1,:);
imB4=imB1;
imB4(c1-50:c1+49,c2-50:c2+49)=0;
end
end
im1=cat(3,imR1,imG1,imB1);
im2=cat(3,imR2,imG2,imB2);
im3=cat(3,imR3,imG3,imB3);
im4=cat(3,imR4,imG4,imB4);
figure;
subplot(2,2,1);
imshow(im1);
subplot(2,2,2);
imshow(im2);
subplot(2,2,3);
imshow(im3);
subplot(2,2,4);
imshow(im4);
end
然后在命令窗口调用
操作:水平翻转,垂直翻转,中心区域变红)。必须使用控制语句,在命令窗口成功调用!
作业2:定义一个函数RGB2BGR, 输入为彩色图像文件名,将彩色通道由RGB顺序转换为BGR顺序,输出并显示该彩色图像,并分别进行如下操作:水平翻转,垂直翻转,中心区域变红)。必须使用控制语句,在命令窗口成功调用!