五、实验实施步骤
(一) 将工作路径设为D:\你的名字的拼音,把指定的图像放入该路径下。
(二) 建一个.m文件,完成如下操作:
1、 读取图片,分别将之转换为灰度图和二值图,存留转换结果图。
代码:
>> a=imread('D:\tianlinyu\lena.jpg');%读入图像
aGrayPic = rgb2gray(a);%转换为灰度
I = im2bw(a,0.5); %转换为二值图
subplot(1,3,1); %subplot(a,b,c)中a代表所画图形的行数 b代表 所画图形的列数c代表所画图形的序号
imshow(a);%显示原图像
title('原图像');%加图像标题
subplot(1,3,2);
imshow(aGrayPic);%显示灰度像
title('灰图像');
>> subplot(1,3,3);
>> imshow(I);%二值图
>> title('二值图');
效果图:
2、 将灰度图重新采样,分别为4倍和16倍,存留重采样结果图。
代码:
a=imread('D:\tianlinyu\00104.bmp');%读入
b=rgb2gray(a);%转灰度
figure %新建
imshow(b);%显示图片
title('灰度图像');%显示
for m=1:2
figure
[width,height]=size(b);% 读取图像的尺寸信息quartimage=zeros(floor(width/(2*m)),floor(height/(2*m)));%采取宽和高
k=1;
n=1;
for i=1:(2*m):width %扫描图像的每一行
for j=1:(2*m):height %扫描图像的每一列
quartimage(k,n)=b(i,j);
n=n+1;
end %结束列扫描
k=k+1;
n=1;
end %结束列扫描
imshow(uint8(quartimage));%显示
if m==1
title(''4倍采样''); %显示采样后的图像
else
title('16倍采样'); %显示采样后的图像
end %结束列扫描
end %结束列扫描
3、 将原256级灰度转为128、64、32级灰度,存留重量化结果图。
代码:
%读入照片
a=imread('D:\tianlinyu\00107.bmp');
%量化128级灰度
c=(0.5)*a;c1=floor(c);
%64级灰度
d=(0.25)*a;d1=floor(c);
%32级灰度
e=(0.125)*a;e1=floor(e);
figure %建立一个新的图形
subplot(1,3,1),imshow(c1,[0,127]);title('128级灰度图像');%显示图片标题
subplot(1,3,2),imshow(d1,[0,63]);title('64级灰度图像');
subplot(1,3,3),imshow(e1,[0,31]);title('32级灰度图像');
(三)
领取专属 10元无门槛券
私享最新 技术干货