直方图均衡化

摘 要:本实验主要编写了计算图像直方图的程序以及直方图均衡化的实现程序,讨论了直方图均衡化技术的实现方法,给出了某些图像经过直方图均衡化技术处理之后的效果。直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。


技术论述
直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。
计算过程如下:
这里写图片描述
实验结果讨论
如图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('经过均衡处理后该图像的直方图');
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值