参考文档:

User’s Guide
histeq的原理:
[MN]=size(H);
[counts,x]=imhist(H);
location=find(counts~=0);%找到所有像素个数不为0的灰度级
MinCDF=min(counts(location));%找到包含个数最少的灰度级
%计算各个灰度级像素个数累计分布
%找到图像中等于某个灰度级所有像素点所在位置
%利用灰度换算公式,修改所有位置上的像素值
end
简单的说,就是将每个灰度值利用一个变换公式替换掉。
简单的例子:
clc;clear;closeall;
H=imread('pout.tif');figure;subplot(121);imshow(H);
H=im2double(H);%这个是需要注意的地方,一定要变换成double类型
[N]=size(H);
[counts,x]=imhist(H);
location=find(counts~=0);%找到所有像素个数不为0的灰度级
MinCDF=min(counts(location));%找到包含个数最少的灰度级
for j=1:length(location)
%计算各个灰度级像素个数累计分布
%找到图像中等于某个灰度级所有像素点所在位置
%利用灰度换算公式,修改所有位置上的像素值
end
subplot(122);imshow(H)
% 保存为jpg格式的图片。

all;
'pout.tif');figure;imshow(H);
文章来源: histeq的原理和用法