直方图均衡化

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

离散情况下,一幅图像中的灰度级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);

结果如下:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值