1.直方图规定化(直方图匹配)是将变换过程加以控制,能够修正直方图的形状,或得到具有指定直方图的输出图像。有选择地增强某个灰度范围内的对比度或使图像灰度值满足某种特定的分布。
2.直方图规定化是在运用均衡化原理的基础上,通过建立原始图像和期望图像(待匹配直方图的图像)之间的关系,使原始图像的直方图匹配特定的形状,弥补直方图均衡化不具备交互作用的特性。
(a)原直方图;(b)正态扩展直方图;(c)均衡化直方图;(d)暗区扩展直方图 (e)亮区扩展直方图。
3.直方图规定化本质上是一种拟合过程,经直方图规定化变换后的图像的直方图(称为匹配直方图),并非完全与规定直方图相同,但相比于原直方图,匹配直方图要更接近于规定直方图。
如下显示了直方图规定化的步骤:
直方图匹配的Matlab实现:
I = imread('lena.bmp'); % 读入原图像
I1=imread('baby.bmp'); % 读入要匹配直方图图像
[hgram1,x]=imhist(I1) ;
J1=histeq(I,hgram1);%执行直方图匹配
subplot(2,3,1);imshow(I);title('原图');
subplot(2,3,2);imshow(I1);title('标准图');
subplot(2,3,3);imshow(J1);title('匹配到标准图');
subplot(2,3,4);imhist(I);
title('原图');
subplot(2,3,5);imhist(I1);
title('标准图');
subplot(2,3,6);imhist(J1);
title('匹配到标准图');
opencv匹配到高斯函数的实验结果:
原图:
实验结果图:
直方图匹配的Opencv实现:点击代码下载地址