直方图均衡化
2015-05-27 10:55
134 查看
摘 要:本实验主要编写了计算图像直方图的程序以及直方图均衡化的实现程序,讨论了直方图均衡化技术的实现方法,给出了某些图像经过直方图均衡化技术处理之后的效果。直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。
技术论述
直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。
计算过程如下:
![](http://img.blog.csdn.net/20150527104309100)
实验结果讨论
如图1-1即为利用编写的直方图程序所得到的某图像的直方图。
![](http://img.blog.csdn.net/20150527104534808)
图1-1
如图1-2为原始图像,图1-3为经过直方图均衡化增强后的图像。如图1-4为原始图像的直方图,图1-5为经过直方图均衡化处理后的图像的直方图。
![](http://img.blog.csdn.net/20150527104744993)
图1-2
![](http://img.blog.csdn.net/20150527104758649)
图1-3
![](http://img.blog.csdn.net/20150527104927733)
图1-4
![](http://img.blog.csdn.net/20150527104953151)
图1-5
根据实验得到的结果,可以看出经过直方图均衡化处理前后直方图的区别,直方图均衡化技术正是利用改变图像的直方图分布来增强局部的对比度。为了进一步看出直方图均衡化的处理效果,本实验还对另一副图像做了相应的处理,其原图像如图1-6所示,经过直方图均衡化处理之后的图像如图1-7所示,以及原图像直方图和处理后图像直方图如图1-8和图1-9所示。
![](http://img.blog.csdn.net/20150527105132591)
图1-6
![](http://img.blog.csdn.net/20150527105206240)
图1-7
![](http://img.blog.csdn.net/20150527105233864)
图1-8
![](http://img.blog.csdn.net/20150527105251196)
图1-9
技术论述
直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。
计算过程如下:
实验结果讨论
如图1-1即为利用编写的直方图程序所得到的某图像的直方图。
图1-1
如图1-2为原始图像,图1-3为经过直方图均衡化增强后的图像。如图1-4为原始图像的直方图,图1-5为经过直方图均衡化处理后的图像的直方图。
图1-2
图1-3
图1-4
图1-5
根据实验得到的结果,可以看出经过直方图均衡化处理前后直方图的区别,直方图均衡化技术正是利用改变图像的直方图分布来增强局部的对比度。为了进一步看出直方图均衡化的处理效果,本实验还对另一副图像做了相应的处理,其原图像如图1-6所示,经过直方图均衡化处理之后的图像如图1-7所示,以及原图像直方图和处理后图像直方图如图1-8和图1-9所示。
图1-6
图1-7
图1-8
图1-9
function count_his %计算图像直方图 ima=imread('Fig3.08(a).jpg'); [m,n]=size(ima); r=zeros(1,256); for i=1:m for j=1:n r(ima(i,j)+1)=r(ima(i,j)+1)+1; end end bar(1:256,r);title('图像的直方图');
function histogram_e %ima为输入图像 %imt为直方图均衡化后的输出图像 ima=imread('Fig3.08(a).jpg'); [m,n]=size(ima); imt=zeros(size(ima)); I=m*n; P=zeros(1,256); r=zeros(1,256); C=zeros(1,256); new_graydis=zeros(1,256); ima=double(ima); %统计各灰度的像素数目 for i=1:m for j=1:n r(ima(i,j)+1)=r(ima(i,j)+1)+1; end end %计算原始图像直方图各灰度级的频数 P=r./sum(r); %计算累计分布函数 for k=1:256 for j=1:k C(1,k)=C(1,k)+P(1,j); end end %计算映射后的输出图像的灰度级 for k=1:256 C(1,k)=floor(255*C(1,k)+0.5); end %统计映射后各灰度级的像素数目 for i=1:256 new_graydis(1,C(1,i)+1)=new_graydis(1,C(1,i)+1)+r(1,i); end %计算直方图均衡后的新图 for i=1:m for j=1:n imt(i,j)=C(1,(ima(i,j)+1)); end end ima=uint8(ima); imt=uint8(imt); figure;imshow(ima);title('原图像'); figure;imshow(imt);title('经过均衡处理的图像'); figure;imhist(ima);title('原图像的直方图'); figure;imhist(imt);title('经过均衡处理后该图像的直方图');
相关文章推荐
- 直方图均衡化
- 《图像处理系列----灰度图像的直方图均衡化》
- 图像处理——直方图均衡化
- 直方图均衡化简易理解
- 直方图均衡化
- [图像增强]二. 直方图均衡化
- 直方图均衡化
- matlab 的直方图均衡化
- 直方图均衡化 EqualizeHist
- 基于直方图均衡化的激光水下图像处理
- 直方图均衡化
- matlab灰度变换rgb2gray与直方图均衡化histeq
- openCV—Python(8)—— 图像直方图及其直方图均衡化
- 【图像处理】直方图均衡化
- 图像预处理与特征提取(1)——白化处理和直方图均衡化
- 限制对比度自适应直方图均衡化算法原理、实现及效果
- 直方图均衡化 Histogram Equalization
- OpenCV-Python教程(9)(10)(11): 使用霍夫变换检测直线 直方图均衡化 轮廓检测
- 图像直方图均衡化和图像一般的拉伸
- 直方图均衡化