文档库

最新最全的文档下载
当前位置:文档库 > 数字图像处理实验报告一 图像点运算增强

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

实验一图像点运算增强

一、实验目地

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 实验结果:

pout.tif 灰度调整pout.tif

100

200

050010001500pout.tif 直方图

100200

050010001500灰度调整pout.tif 后直方图

pout.tif

均衡化pout.tif

100

200

050010001500pout.tif 直方图

100200

050010001500均衡化pout.tif 后直方图

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 直方图');

3.2 实验结果:

lena.bmp

规定化lena.bmp

100

200

01000

20003000lena.bmp 直方图

100200

01000

20003000规定化lena.bmp 直方图

四、思考题

1、直方图是什么概念?它反映了图像的什么信息?

答:直方图表示一幅图像灰度分布情况的统计图表,直方图的横坐标是灰度级,纵坐标是具有该灰度级的像素个数或出现这个灰度级的概率。

2、直方图均衡化是什么意思?它的主要用途是什么?

答:对原始图像中的像素灰度做某种映射变换,使变换后的图像灰度密度是均匀分布的。均衡化的用途主要是增加图像灰度动态范围,增加图像的对比度,可以看清图像的某些细节。