首页 > 技术文章 > 直方图均衡化

lq123 2020-08-03 15:19 原文

概念

  直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。

步骤:

  1.确定图像的灰度级和每个灰度级别有多少像素点
  2.就算每个灰度级别的概率(PDF)
  3.计算每个灰度级别的累计概率(累计的直方图,CDF)
  4.根据公式求取像素映射关系(T(j)=round(CDF(i)*(256-1)));

代码

  close all;
  clear all;
  clc;

  f=imread('C:\Users\luoqi\Desktop\图片\影院\file.jpg');
  [m,n,d]=size(f);
  if ndims(f)==3
      f=rgb2gray(f);
  end
  f1=f;
  [count,x]=imhist(f);%count表示每个灰度级别有多少个像素。x表示有多少个灰度级别
  PDF=count/(m*n);%PDF表示每个灰度级别出现的概率,一共256行
  CDF=cumsum(PDF);%CDF表示逐行相加的概率,也就是累加概率

  for i=1:256
      xiangsu=find(f==i);%原本灰度级别为i的像素在第几位
      length1=length(xiangsu);
      for j=1:length1
          f1(xiangsu(j))=round(CDF(i)*(256-1));%每一个原本灰度级别为i的像素灰度级别改为累加出现概率*(255)在取整
      end
  end

  figure(1)
  subplot(121),imshow(f);
  subplot(122),imshow(f1);

  figure(2)
  subplot(121),imhist(f);
  subplot(122),imhist(f1);

推荐阅读