数字图像处理:实验二

实验二、图像预处理

1.请用Matlab中的函数命令:

(1)显示一幅原始图像(自定,建议用对比度较低的);
(2)使用直方图函数对自定的一幅图像进行直方图显示;
(3)用直方图均衡化函数对图像进行处理,并显示处理后的图像。。


实验步骤:

  1. 显示一幅原始图像

  2. 使用直方图函数imhist对其进行直方图显示;

  3. 分别使用adapthisteq函数以及histeq函数对图像进行处理;

  4. 使用imhist函数分别对adapthisteq函数以及histeq函数对图像均衡后的图像进行直方图显示;

实验Matlab程序:(2016a版本)

1.	clear;  
2.	clc;  
3.	img = imread('hua.jpg');%读取图片  
4.	imggray=rgb2gray(img);%灰度处理  
5.	imggray1=adapthisteq(imggray);%用adapthisteq将图imggray进行直方图均衡化  
6.	imggray2=histeq(imggray);%用histeq将图imggray进行直方图均衡化  
7.	  
8.	subplot(3,2,1);  
9.	imshow(imggray);%显示灰度处理后的图  
10.	title('原图');  
11.	  
12.	subplot(3,2,2);  
13.	imhist(imggray);%显示直方图  
14.	title('原图直方图');  
15.	  
16.	subplot(3,2,3);  
17.	imshow(imggray1);%显示使用adapthisteq均衡后的原图  
18.	title('对原图进行adapthisteq均衡处理');  
19.	subplot(3,2,4);  
20.	imhist(imggray1);%显示使用adapthisteq均衡后的直方图  
21.	title('adapthisteq均衡后直方图');  
22.	  
23.	subplot(3,2,5);  
24.	imshow(imggray2);%显示使用histeq均衡后的原图  
25.	title('对原图进行histeq均衡处理');  
26.	subplot(3,2,6);  
27.	imhist(imggray1);%显示使用histeq均衡后的直方图  
28.	title('histeq均衡后直方图');  

程序说明:

根据查阅资料分别搜集到四个函数:imhist()函数、histeq()函数以及apthisteq()函数;其中imhist函数用于显示图像的直方图,而histeq函数adapthisteq函数均为图像的均衡化函数;
清空工作区存储数据后,首先读入一幅图片1,因为imhist函数只能处理二维数据,因此处理RGB图像时,应该将其转化为灰度图像。通过rgb2gray函数获取灰度图像,接着在程序中分别使用histeq函数以及apthisteq函数获取均衡后的原图,并且结合imhist函数获取histeq均衡后的直方图和apthisteq均衡后的直方图;

实验效果:

在这里插入图片描述

实验分析:

直方图均衡化可使得图像的灰度间距拉大或者使灰度分布均匀,从而增加了反差,使图像细节清晰,达到图像增强的目的。

猜你喜欢

转载自blog.csdn.net/TianHW103/article/details/127680798