码迷,mamicode.com
首页 > 其他好文 > 详细

直方图均衡化

时间:2015-07-31 16:18:10      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:matlab   图像处理   直方图处理   

在数字图像处理中,直方图均衡化的作用是一种自适应增强对比度。它根据提供的图像,自动提取信息进行处理,不需要额外参数的配合,工作原理简单如下:

离散情况下,一幅图像中的灰度级r出现的概率近似为:

技术分享

其中,M,N分别代表图像的像素长、宽,MN为图像的像素总数,nk是灰度级为k的像素个数,L是图像中可能的灰度级数量(8位图像是256)。

对离散图像进行均衡化的变换函数为:

技术分享

在连续值中,均衡化变换可使每一个值出现的概率都相同,为1/(L-1)。

在matlab中,对数字图像处理(第三版)中的实例进行了实现。

程序如下:

%%
%直方图均衡化
%作者:褚凯
%日期:2015.07.31
%%
tempImg = imread(‘Fig0316(4)(bottom_left).tif‘);
figure;
subplot(4,4,1);
imshow(tempImg);
subplot(4,4,2);
imhist(tempImg);
J= histeq(tempImg);
subplot(4,4,3);
imshow(J);
subplot(4,4,4);
imhist(J);


tempImg = imread(‘Fig0316(1)(top_left).tif‘);
subplot(4,4,5);
imshow(tempImg);
subplot(4,4,6);
imhist(tempImg);
J= histeq(tempImg);
subplot(4,4,7);
imshow(J);
subplot(4,4,8);
imhist(J);


tempImg = imread(‘Fig0316(2)(2nd_from_top).tif‘);
subplot(4,4,9);
imshow(tempImg);
subplot(4,4,10);
imhist(tempImg);
J= histeq(tempImg);
subplot(4,4,11);
imshow(J);
subplot(4,4,12);
imhist(J);


tempImg = imread(‘Fig0316(3)(third_from_top).tif‘);
subplot(4,4,13);
imshow(tempImg);
subplot(4,4,14);
imhist(tempImg);
J= histeq(tempImg);
subplot(4,4,15);
imshow(J);
subplot(4,4,16);
imhist(J);

结果如下:

技术分享

第一列显示的是未处理的图像;第二列为该图像的直方图;第三列为直方图均衡化后的图像;第四列为处理后的图像直方图。

从图像中,可明显看出,均衡化后的图像在对比度上得到了增强,其原因是均衡化扩大了图像的灰度级范围。

版权声明:本文为博主原创文章,未经博主允许不得转载。

直方图均衡化

标签:matlab   图像处理   直方图处理   

原文地址:http://blog.csdn.net/zqckzqck/article/details/47170531

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!