matlab图像处理与应用
一、课题的目的、意义
直方图规定化的主要目的是使处理后的图像对某种特定的应用,比原始图像更适合,处理的结果使图像更适合于人的视觉特性或机器的识别系统。
我们知道,直方图均衡化处理有良好的图像增强效果。从实现算法上可以看出,其优点主要在于能自动增强整幅图像的对比度,但具体的增强效果也因此不易控制,只能得到全局均衡化处理的直方图。然而在实际应用中,往往要根据不同的要求得到特定形状的直方图分布,以有选择地对某灰度范围进行局部的对比度增强,即想要得到已知直方图的增强图像。此时,可以采用直方图的规定化处理,通过选择合适的规定化函数取得期望的效果。直方图规定化就是针对这种思想提出来的一种直方图修正增强方法。所以,从某种意义上,直方图规定化可看作是直方图均衡化方法的改进。
二、图像的输入与显示 I=imread('coins.png'); imshow(I); figure,imhist(I);
三、查看输入图像的信息并分析该图像的特点 imfinfo('coins.png')
Filename: 'E:\\matlab7.0\\toolbox\\images\\imdemos\\coins.png' FileModDate: '13-Oct-2002 16:47:02' FileSize: 37906 Format: 'png' FormatVersion: []
Width: 300 Height: 246 BitDepth: 8
ColorType: 'grayscale'
FormatSignature: [137 80 78 71 13 10 26 10] Colormap: [] Histogram: []
InterlaceType: 'none' Transparency: 'none'
SimpleTransparencyData: [] BackgroundColor: [] RenderingIntent: [] Chromaticities: [] Gamma: [] XResolution: [] YResolution: [] ResolutionUnit: [] XOffset: [] YOffset: [] OffsetUnit: [] SignificantBits: []
ImageModTime: '19 Sep 2002 20:31:12 +0000' Title: [] Author: [] Description: []
Copyright: 'Copyright The MathWorks, Inc.' CreationTime: [] Software: [] Disclaimer: [] Warning: [] Source: [] Comment: [] OtherText: []
四、图像处理的原理、方法和过程
在实际应用中,希望能够有目的地增强某个灰度区间的图像, 即能够人为地修正直方图的形状, 使之与期望的形状相匹配,这就是直方图规定化的基本思想。换句话说,希望可以人为地改变直方图形状,使之成为某个特定的形状,直方图规定化就是针对上述要求提出来的一种增强技术,它可以按照预先设定的某个形状来调整图像的直方图。直方图规定化是在运用均衡化原理的基础上,通过建立原始图像和期望图像之间的关系,选择地控制直方图,使原始图像的直方图变成规定的形状,从而弥补了直方图均衡不具备交互作用的特性。
例如:Pr (r)为原图像的灰度密度函数, Pz (z)为希望得到的增强图像的灰度密度函数,二者的直方图如下:
直方图规定化增强处理的步骤如下:
1,其增强原理是先对原始的直方图均衡化:S = T(r) 2,同时对规定的直方图均衡化:v = G(z)
3,由于都是均衡化,故令 S = v,则:z = G-1(v) = G-1[T(r)]
五、在Matlab中,图像处理过程所用主要函数的功能及参数
1.I=imread('coins.png'); %读取图像“coins.png” 2.imshow(I); %显示图像 3.imhist函数:
MATLAB图像处理工具箱提供了imhist函数来计算和显示图像的直方图,其语法格式为:
3.1 imhist(I,n)
其功能是:计算和显示灰度图像I的直方图,n为指定的灰度级的数目,对于灰度图像其的默认值是256,对于黑白二值图像,n的默认值是2。
3.2 imhist(X,map)
其功能是:计算和显示索引色图像X的直方图,map为调色板。
3.3 [counts,x]=imhist(…)
其功能是:返回直方图数据向量counts或相应的色彩值向量x。
4. histeq函数
MATLAB图像处理工具箱提供了用于直方图均匀化的函数histeq。histeq函数的语法格式为:
4.1 J=histeq(I,hgram)
其功能是:将原始图像I的直方图变成用户指定的向量hgram, hgram中的各元素值域为[0,1]。
4.2 J=histeq(I,n)
其功能是:指定直方图均匀化后的灰度级数n,默认值为64。
六、图像处理源程序及其注释
灰度级数为32时的效果对比,如图一:
>> I=imread('coins.png'); %读入图片coins;
>> J=histeq(I,32); %指定直方图均匀化后的灰度级数为32; >> [counts,x]=imhist(J); %返回直方图数据向量counts; >> Q=imread('coins.png'); %将图片coins赋值给Q; >> figure, %创建画图空间 ; >> subplot(2,2,1),imshow(Q); %第一幅图为原图;
>> subplot(2,2,3),imhist(Q); %第三幅图为原图的灰度直方图; >> M=histeq(Q,counts);
>> subplot(2,2,2),imshow(M); %第二幅图为增强后的图;