三、数字图像处理之直方图规定化实例

直方图规定化实例

上一讲说明了直方图规定化的基本原理及步骤,这次来说说具体的例子。

直方图均衡化并不能适用于所有的情况,特别是,能够规定在进行处理后想要的图像直方图的形状,这在某些应用中是非常有用的。生成具有特定直方图的图像的方法,被称作直方图匹配法或直方图规定化。

直方图均衡化数学公式:
在这里插入图片描述
要变化到直方图规定化公式:
在这里插入图片描述
由输入图像得到T(r),由此得出结论:只要找到H-1,就能利用前面的等式得到变换后的灰度级z,概率密度函数(PDF)为指定的Pz(z)。

工具箱使用histeq语法实现直方图匹配:

g= histeq(f,hspec)

其中,f是输入图像,hspec为特定的直方图(某个特定值的行向量),g为输出图像,直方图近似于指定直方图hspec。向量中包含对应等分的空间统计堆栈的整数值。Histeq的特性是当length(hspec)比图像f中的灰度级小很多时,图像g的直方图通常会较好地匹配hspec。

灰色图的直方图规定化
运行代码:

>> f=imread('D:\My Documents\桌面\house.jpg');
g=imread('D:\My Documents\桌面\green.jpg');
g=rgb2gray(g);
f=rgb2gray(f);
g1=imhist(g);
match=histeq(f,g1);
figure;
subplot(231),imshow(f),title('原图像');
subplot(232),imshow(g),title('模板图像');
subplot(233),imshow(match),title('规定化后的图像');
subplot(234),imhist(f),title('原图像的直方图');
subplot(235),imhist(g),title('模板图像的直方图');
subplot(236),imhist(match),title('规定化后的图像的直方图');

运行结果效果图如下:
三、数字图像处理之直方图规定化实例_第1张图片
实验结论:
原图像是彩色图像,需要变换成灰度图再进行规范化。由于模板图像的灰度级大部分位于暗灰度部分,因此匹配后的原图像则变暗了,规定后的图像受到模板图像灰度级的影响。

彩色图的直方图规定化

运行代码:

clear
I=imread(' D:\My Documents\桌面\house.jpg ');%读取图像
Imatch=imread(' D:\My Documents\桌面\green1.jpg ');%读取匹配图像
R=I(:,:,1);%获取原图像R通道
G=I(:,:,2);%获取原图像G通道
B=I(:,:,3);%获取原图像B通道
Rmatch=Imatch(:,:,1);%获取匹配图像R通道
Gmatch=Imatch(:,:,2);%获取匹配图像G通道
Bmatch=Imatch(:,:,3);%获取匹配图像B通道
Rmatch_hist=imhist(Rmatch);%获取匹配图像R通道直方图
Gmatch_hist=imhist(Gmatch);%获取匹配图像G通道直方图
Bmatch_hist=imhist(Bmatch);%获取匹配图像B通道直方图
Rout=histeq(R,Rmatch_hist);%R通道直方图匹配
Gout=histeq(G,Gmatch_hist);%G通道直方图匹配
Bout=histeq(B,Bmatch_hist);%B通道直方图匹配
J(:,:,1)=Rout;
J(:,:,2)=Gout;
J(:,:,3)=Bout;
figure;%显示原图像、匹配图像和匹配后的图像
subplot(131),imshow(I);title('原图像');
subplot(132),imshow(Imatch);title('匹配图像');
subplot(133),imshow(J);title('匹配之后图像');
figure;%显示原图像、匹配图像和匹配后图像的直方图
subplot(331),imhist(R,64);ylabel('原图像R通道直方图');
subplot(332),imhist(G,64);ylabel('原图像G通道直方图');
subplot(333),imhist(B,64);ylabel('原图像B通道直方图'); 
subplot(334),imhist(Rmatch,64);ylabel('匹配图像R通道直方图');
subplot(335),imhist(Gmatch,64);ylabel('匹配图像G通道直方图');
subplot(336),imhist(Bmatch,64);ylabel('匹配图像B通道直方图'); 
subplot(337),imhist(Rout,64);ylabel('匹配之后图像R通道直方图');
subplot(338),imhist(Gout,64);ylabel('匹配之后图像G通道直方图');
subplot(339),imhist(Bout,64);ylabel('匹配之后图像B通道直方图');

三、数字图像处理之直方图规定化实例_第2张图片

三、数字图像处理之直方图规定化实例_第3张图片

实验结论:
彩色图的直方图匹配与灰度图像稍有不同,需要分解成RGB进行分别匹配才可以完成彩色图像的直方图匹配。与灰度图像匹配一样,原图像也受到模板图像灰度级的影响。

你可能感兴趣的:(数字图像处理)