直方图规定化定义:在运用均衡化原理基础上,通过建立原始图像和期望图像(待匹配直方图图像)之间的关系,使原始图像的直方图匹配特定的形状,从而弥补直方图均衡化不具备交互作用的特性。
直方图规定化作用:1.可以自动确定灰度变换函数,从而获得具有均匀直方图的输出图像。2.增强动态范围偏小的图像对比度。
优点:操作简单,结果可预知,当图像需要自动增强时是一种不错的选择。
Histeq()函数:不仅可用于直方图均衡化,还可用于直方图规定化,此时需要提供可选参数hgram。调用语法:[J,T]=histeq(I,hgram)。函数会将原始图像I处理成一幅以用户指定向量hgram作为直方图的图像。参数hgram的分量数目即为直方图的收集箱数目。
I=imread('pout.tif'); %读入原图像
I1=imread('coins.png');%读入要匹配直方图的图像
I2=imread('circuit.tif');%读入要匹配直方图的图像
%计算直方图
[hgram1,~]=imhist(I1);
[hgram2,x]=imhist(I2);
%执行直方图均衡化
J1=histeq(I,hgram1);
J2=histeq(I,hgram2);
%绘图
subplot(2,3,1);
imshow(I);title('原图');
subplot(2,3,2);
imshow(I1);title('标准图1');
subplot(2,3,3);
imshow(I2);title('标准图2');
subplot(2,3,5);
imshow(J1);title('规定化到1');
subplot(2,3,6);
imshow(J2);title('规定化到2');
%绘直方图
figure;
subplot(2,3,1);
imhist(I);title('原图');
subplot(2,3,2);
imhist(I1);title('标准图1');
subplot(2,3,3);
imhist(I2);title('标准图2');
subplot(2,3,4);
imhist(J1);title('规定化到1');
subplot(2,3,5);
imhist(J2);title('规定化到2');