数字图像处理实验报告一 图像点运算增强

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一图像点运算增强

一、实验目地

1、熟练掌握在MATLAB中图像读取、显示、存储等操作。

2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图均衡和直方图规定化方法对图像进行修正。

二、实验内容

1、读取图像彩色图像lily.tif:

①查看彩色图像数据结构、数据类型;

②将彩色图像转换为灰度图像,并存储为lily1.tif;

③将图像lily1.tif中灰度值小于90的减小42个灰度级,将变化后图像存储为lily2.tif;

④同一窗口显示图像lily1、lily2,以及图像对应的直方图。(title)

2、读取图像pout.tif

①对其做灰度变换处理,显示变换前后的图像和直方图。Figure1

②对其进行直方图均衡化,显示变换前后图像和对应直方图。Figure2

3、读入图像lena.bmp与lily1.tif,执行直方图规定化。使lena图像的灰度分布与lily1大致相同,显示变换前后图像及对应直方图。

三、实验程序及结果

1.1 实验程序

clear; %清除前程序变量

a=imread('E:\ZHJ\lily.tif'); %读入图像文件lily,并记为a

b=rgb2gray(a); %将彩色图像a转换为灰色图像b

imwrite(b,'E:\ZHJ\lily1.tif','tif'); %写入图像文件b,并命名为lily1

c=double(b); %将图像b的数据类型转换为双精度型,记为c

for i=1:186

for j=1:230

if c(i,j)<90

e(i,j)=c(i,j)-42;

else e(i,j)=c(i,j);

end

end

end %将c中灰度值小于90的减小42个灰度级,并记为e d=uint8(e); %将e的数据类型转换为整型数据

imwrite(d,'E:\ZHJ\lily2.tif','tif'); %写入图像文件d,并命名为lily2

x=imhist(b,256); %求b的直方图

y=imhist(d,256); %求d的直方图

figure; %建立一张图表

subplot(2,2,1); %将建见图表分为四块

imshow(b); %显示图像文件b,即lily1

subplot(2,2,2);

imshow(d); %显示图像文件d,即lily2

subplot(2,2,3);

imhist(b); %显示图像b的直方图

title('lily1'); %将直方图命名为lily1

subplot(2,2,4);

imhist(d); %显示图像d的直方图

title('lily2'); %将直方图命名为lily2

1.2 实验结果:

2.1 实验程序

clear; %清除前程序变量

a=imread('pout.tif'); %读入图像文件pout.tif,并记为a

b= imadjust(a,[0.3,0.7],[]); %对图像a进行灰度调整,调整后记为b imwrite(b,'F:\ZHJ\pout1.tif','tif'); %写入图像文件b,并命名为pout1.tif

c=histeq(a,64); %对图像a均衡化

figure(1); %建立图表1

subplot(2,2,1); %将所建图表分为四块imshow(a); %显示图像文件a title('pout.tif');

subplot(2,2,2);

imshow(b); %显示图像文件b title('灰度调整pout.tif');

subplot(2,2,3);

imhist(a); %显示图像a的直方图title('pout.tif直方图');

subplot(2,2,4);

imhist(a); %显示图像b的直方图title('灰度调整pout.tif后直方图');

figure(2); %建立图表2

subplot(2,2,1); %将所建图表分为四块imshow(a); %显示图像文件a title('pout.tif');

subplot(2,2,2);

imshow(c); %显示图像文件c title('均衡化pout.tif');

subplot(2,2,3);

imhist(a); %显示图像a的直方图title('pout.tif直方图');

subplot(2,2,4);

imhist(c); %显示图像c的直方图title('均衡化pout.tif后直方图');

2.2 实验结果:

100

200

00

100200

0 0

100

200

00

100200

3.1 实验程序

clear; %清除前程序变量

a=imread('F:\ZHJ\lena.bmp'); %读入图像文件lena.bmp ,并记为a b=imread('F:\ZHJ\lily1.tif'); %读入图像文件lily1.tif ,并记为b e=imhist(b); %求b 图像的直方图

c = histeq(a,e); %直方图规定化,将a 的图像直方图变为e 图像直方图 figure; %建立一张图表 subplot(2,2,1); %将图表分为四块 imshow(a); %显示图像文件a title('lena.bmp'); subplot(2,2,2);

imshow(c); %显示图像文件c title('规定化lena.bmp'); subplot(2,2,3);

imhist(a); %显示图像文件a 的直方图 title('lena.bmp 直方图'); subplot(2,2,4);

imhist(c); %显示图像文件c 的直方图 title('规定化lena.bmp 直方图');

100

200

00

100200

0四、思考题

相关文档
最新文档