红外图像的处理及其MATLAB实现.

红外图像的处理及其MATLAB实现.
红外图像的处理及其MATLAB实现.

红外图像的处理及其MATLAB 函数实现

0.引言

随着红外技术日新月异的发展,红外技术在军事及人们日常生活中有着越来越广泛的应用。但由于红外探照灯及红外探测器件的限制,红外成像系统的成像效果仍然不够理想。在民用监测应用中,主要表现为夜视距离近,图像背景与被监测目标之间对比度模糊,被监测目标细节难以辨认,图像特征信息不明确等方面。为使图像更适于人眼观测、适用于图像后续目标识别及跟踪处理,有必要在红外图像采集和处理上做进一步的研究,来增强红外图像视觉效果。

1. 红外图像的获取及其特点

1.1 红外图像的获取

红外图像主要是由红外热像仪采集的。红外热像仪是一种二维热图像成像装置。热成像系统是一个光学一电子系统,可用于接收波长在m 100~75.0之间的电磁辐射,它的基本功能是将接收到的红外辐射转换成电信号,再将电信号的大小用灰度等级的形式表示,最后在显示器上显示出来。图1.1就是一张采集到的红外图像。

图1.1 输入的红外图像

1.2 红外图像的特点

红外图像反映了目标和背景不可见红外辐射的空间分布,其辐射亮度分布主要由被观测景物的温度和发射率决定,因此红外图像近似反映了景物温度差或辐射差。

根据其成像原理,总结红外图像特点如下:

(1)红外热图像表征景物的温度分布,是灰度图像,没有彩色或阴影(立体感觉),故对人眼而言,分辨率低、分辨潜力差;

(2)由于景物热平衡、光波波长、传输距离远、大气衰减等原因,造成红外图像空间相关性强、对比度低、视觉效果模糊;

(3)热成像系统的探测能力和空间分辨率低于可见光CCD阵列,使得红外图像的清晰度低于可见光图像;

(4)外界环境的随机干扰和热成像系统的不完善,给红外图像带来多种多样

1噪声、光子电子涨落噪声等等。噪声来源的噪声,比如热噪声、散粒噪声、f

多样,噪声类型繁多,这些都造成红外热图像噪声的不可预测的分布复杂性。这些分布复杂的噪声使得红外图像的信噪比比普通电视图像低;

(5)由于红外探测器各探测单元的响应特性不一致等原因,造成红外图像的非均匀性,体现为图像的固定图案噪声、串扰、畸变等。

由以上五点可知,红外图像一般较暗,且目标与背景对比度低,边缘模糊,视觉效果差。

通过以上比较分析,可以总结:可见光图像与红外图像的成像机理虽然不同(可见光图像是利用物体对光线的反射来获得的,而红外图像是靠物体自身的红外辐射获取的),但在低照度情况下,可见光图像与红外图像的视觉效果和直方图特征均相同,因此可以采用低照度可见光图像的处理方法来处理红外图像。

2. 红外图像的增强

2.1 图像增强

图像增强是指对图像的某些特征,如边缘、轮廓、对比度等进行强调或突显,以便于观察或做进一步的分析与处理。图像增强不意味着能增加原始的信息,有时甚至会损失一些信息,但图像增强的结果却能加强对特定信息的识别能力,便图像中感兴趣的特征得以加强,从而使这些特征的检测和识别变得更加容易。

图像增强方法的分类如图2.1所示:

图2.1 图像增强方法

下面我们主要介绍其中的几种增强方法。

2.2 红外图像的直方图均衡化

2.2.1 图像的直方图

灰度直方图是用于表达图像灰度分布情况的统计图表,有一维直方图和二维直方图之分。其中最常用的是一维直方图。它具有以下三个性质:(1)图像与直方图之间是多对一的映射关系;(2)只表示图像每一灰度级出现的频数,而失去了具有该灰级的像素的位置信息;(3)一幅图像各子区直方图之和等于该图像的全图直方图。

一幅图像的直方图可以提供下列信息:

(1)每个灰度级上像素出现的频数;

(2)图像像素值的动态范围;

(3)整幅图像的大致平均明暗;

(4)图像的整体对比度情况。

因此,在图像处理中直方图是很有用的决策和评价工具。直方图统计在对比度拉伸、灰度级修正、动态范围调整、图像灰度调整、模型化等图像处理方法中发挥了很大的作用,在本文后面的讨论中将可以看到直方图的重要作用。比较红外图像与可见光图像的直方图,可以总结其直方图特点如下:

(1)像素灰度值动态范围不大,很少充满整个灰度级空间;而可见光图像的像素则分布于几乎整个灰度级空间。

(2)绝大部分像素集中于某些相邻的灰度级范围,这些范围以外的灰度级上则没有或只有很少的像素;而可见光图像的像素分布则比较均匀。

(3)直方图中有明显的峰存在,多数情况下为单峰或双峰,若为双峰,则一般主峰为信号,次峰为噪声;而可见光图像直方图的峰不如红外图像明显,一般多个峰同时存在。

以上特点是大多数红外图像直方图所具备的,但也不绝对。实际中的红外图像可能会由于气候条件、环境温度等因素的影响,呈现出与上述特点不完全一致的情形。

图2.2为原红外图像的灰度图和直方图直方图

图2.2 原始图像的灰度图和直方图

2.2.2 直方图的均衡化

直方图均衡的作用是改变图像中灰度概率分布,使其均匀化.其实质是使图像中灰度概率密度较大的像素向附近灰度级扩展,因而灰度层次拉开,而概率密度较小的像素灰度级收缩,从而让出原来占有的部分灰度级,这样的处理使图像充分有效地利用各个灰度级,因而增强了图像对比度。

由前一章红外图像特点的分析可知,红外图像普遍存在着灰度级比较集中,层次感差等问题,采用直方图均衡算法来进行处理,可以使其灰度级尽量拉开,

从而达到对比度增强的效果。下面探讨一下直方图均衡的具体步骤。设一幅图像的像素为n ,共有L 个灰度级,k n 代表灰度级为k r 的像素的数目,则第k 个灰度级出现的概率(对于灰度级为离散的数字图像,用频率来代替概率)可表示为:

n

n r P k k r =)( 其中,12,1,0,10-=≤≤L k r k 。对其进行均衡化后的函数)(r T 的离散形式可表示为:

∑∑=====k i i k r r k n

n r P r T S 00)()( 式中,12,1,0,10-=≤≤L k r k 。可见,均衡后各像素的灰度值k S 可直接由原图像的直方图得到。

(a)

(b)

(c)

图2.3 均衡化后的图像对比

实验证明,直方图均衡对大多数红外图像有效,效果明显,图像对比度大大增强,原本视觉效果模糊的图像变得清晰,目标的细节得到了突出,方法简单,容易实现,在实践中具有重要意义。

通过以上的理论分析和对具体红外图像的处理,可以得出关于直方图均衡的几个结论:

(I)直方图均衡实质上减少灰度等级以换取对比度的加大。直方图均衡化的处理过程中出现了相邻灰度级合并的现象,即原来直方图上频数较小的灰度级被归入很少几个或一个灰度级内,并且可能不在原来的灰度级上;

(2)均衡后的直方图并非完全平坦,这是因为在离散灰度下,直方图只是近似的概率密度;

(3)当被合并掉的灰度级构成的是重要细节,则均衡后细节信息损失较大。因此可采用局部直方图均衡法来处理:

(4)在对比度增强处理中,直方图均衡比灰度线性交换、指数、对数变换的运算速度慢,但比空间域处理和变换域处理的速度快。因此在实时处理中,直方图均衡是一种常用的方法;

(5)直方图均衡虽然增大了图像的对比度,但往往处理后的图像视觉效果生硬、不够柔和,有时甚至会造成图像质量的恶化。另外,均衡后的噪声比处理前明显,这是因为均衡没有区分有用信号和噪声,当原图像中噪声较多时,噪声被增强。

2.3 Laplacian算子锐化算法

Laplacian算子是线性二次微分算子,具有旋转不变性,可以满足不同走向

的图像边界的锐化要求,对于图像),(y x F ,其Laplacian 算子为:

22222

),(),(),(y y x F x y x F y x F ??+??=? Laplacian 算子锐化后的图像具有以下特征:

(1)在灰度均匀区间或灰度斜坡部分F 2?为零,在灰度斜坡的起始处和终点处不为零;

(2) F 2?对细节有较强的相应;

正是由于F 2?有这些特点,使其可以勾划出图像区域的边缘轮廓。因此Laplacian 算子对边缘检测具有很好的功效。

图2.4 Laplacian 算法处理前后图像

2.3 中值滤波算法

中值滤波是常用的一种非线性平滑滤波。它是一种邻域运算,类似于卷积,但不是加权求和计算,而是把邻域中的像素按灰度等级进行排序,然后选择改组的中间值作为输出像素值。他能减弱或消除傅立叶空间的高频分量,但影响低频分量。因为高频分量对应图像中的区域边缘和灰度值具有较大变化的部分,因此概率波可以将这些分量滤除,使图像平滑。

其主要原理是:首先确定一个以某个像素为中心点的邻域,一般为方形领域;然后将邻域中的各个像素的灰度值进行排序,取其中间值作为中心点像素灰度的新值,这里的邻域通常被称为窗口;当窗口在图像中上下左右进行移动后,利用中值滤波算法可以很好地对图像进行平滑处理。操作步骤如下:

(1)将模板在图像中移动,并将模板中心与图像中心某个像素的位置重合;

(2)读取模板下各对应像素的灰度值;

(3)将这些灰度值从小到大排列成一列;

(4)找出排在中间的一个值;

(5)将这个中间值赋给对应模板中心位置的像素。

中值滤波的输出像素是由邻域图像的中间值决定的,因而中值滤波对极限像素值(与周围像素灰度值差别较大的像素)远不如平均值那么敏感,从而可以消除孤立的噪声点,又可以保持图像的细节。

设),(y x f 表示数字图像像素点的灰度值,滤波窗口为A 的中值滤波器定义为:

)},({),(),(y x G Median y x G A

y x ∈= 中值滤波的优势在于它能够保护图像的边缘信息,而且可以出去图像中含有的无用的图像噪声,通常要求窗宽的一半大于噪声的延续宽度。中值滤波器的窗口形状和尺寸对滤波影响都很大,在不同的图像内容和不同的要求下,应该采用不同的形状和尺寸。通常有线性、方形、十字形、圆环形等,而窗口的尺寸由小变大逐步增大点数,直到取得满意的滤波效果。一般而言,对于变化缓慢的且具有较长轮廓线物体的图像,可采用方形或圆形。而对于具有尖角物体的图像可采用十字窗口。

图2.5 中值滤波处理前后的图像

3. 红外图像的边缘检测

3.1 边缘检测

边缘检测是图像处理的重要内容之一,它是图像分割、目标区域的识别、区

域形状特征提取等图像分析的基础。本节主要介绍边缘检测方法Robert,Sobel,Pr,)

ewitt

Laplacian-,Canny和数学形态学法。

Gaussian

(LOG

3.2 常用的边缘检测方法

边缘是图像的最基本的特征,边缘中包含着有价值的目标边界信息,这些信息可以用作图像分析、目标识别。常用的检测方法有:

(1) Robert算子

Robert算子是利用局部查分算子寻找边缘的算子,它是2

2?算子,对具有陡峭的低噪声图像响应最好,但是Robert算子提取边缘的结果边缘较粗,因此边缘定位不很准确。

(2) Sobel算子

Sobel算子是一阶微分算子,它利用像素临近区域的梯度来计算1个像素的梯度,然后根据一定的阈值来取舍,它是3

3?算子模版,对边缘的定位比较准确,对灰度渐变噪声较多的图像处理的较好。

(3) ewitt

Pr算子

Pr算子是一种加权平均算子,它不仅能检测边缘,而且能抑制噪声的

ewitt

影响。

(4) )

LOG-算子

(Gaussian

Laplacian

LOG算法的优点是能过滤噪声,缺点是可能将原有的边缘也给平滑了,告示函数的方差直接影响到边缘检测的结果。此检测方法对噪声比较敏感。

(5) Canny算子

Canny是一阶传统微分算子中检测阶跃型边缘效果最好的算子之一,它比

Pr算子、Sobel算子、Laplacian算子的去噪能力都强,但它也容易平滑掉ewitt

一些边缘信息。

(6) 数学形态学检测方法

数学形态学是图像处理和图像识别技术的发展,是用数学方法描述或分析一个物体的形态的理论和方法。其运算是形态学图像处理的基础,常见的形态学运算有腐蚀和膨胀两种。腐蚀是一种消除边界点,使边界向内部收缩的过程,膨胀是将与物体接触的所有背景点合并到该物体中,是在二值图像中“加长”或“变粗”的操作。利用该操作,可以填补物体的空洞。

图3.1 边缘检测结果示意图

4. Matlab程序

一、读入红外图像并进行灰度处理

A=imread('C:\Documents and Settings\Administrator\桌面\1.JPG); %读入红外图像文件imshow(A) %显示出来

title('输入的红外图像');

B=rgb2gray(A); %灰度化后的数据存入数组

imshow(B)

title('原图灰度图');

B1=histeq(B); %灰度图进行均衡化

二、绘制直方图

[m,n]=size(B); %测量图像尺寸参数

C=zeros(1,256); %预创建存放灰度出现概率的向量

for k=0:255

C(k+1)=length(find(B==k))/(m*n); %计算每级灰度出现的概率,将其存入c中相应位置end

bar(0:255,C,'g') %绘制直方图

title('原图灰度直方图')

xlabel('灰度值')

ylabel('出现概率')

三、直方图均衡化

S1=zeros(1,256);

for i=1:256

for j=1:i

S1(i)=C(j)+S1(i); %计算Sk

end

end

S2=round((S1*256)+0.5); %将Sk归到相近级的灰度

for i=1:256

C1(i)=sum(C(find(S2==i))); %计算现有每个灰度级出现的概率

end

bar(0:255,C1,'b') %显示均衡化后的直方图

title('均衡化后的直方图')

xlabel('灰度值')

ylabel('出现概率')

四、图像均衡化

A1=A;

for i=0:255

A1(find(A==i))=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素

end

imshow(A1) %显示均衡化后的图像

title('均衡化后图像')

imwrite(A1,'PicEqual.bmp');

五、Laplacian算子锐化算法

H1=fspecial('laplacian'); %laplacian代表laplace滤波器

L=imfilter(A,H1); %进行滤波

subplot(1,2,1),imshow(A);

title('原始图像')

subplot(1,2,2),imshow(L);

title('锐化后的图像')

六、中值滤波算法

M=medfilt2(B); %对原始图像的灰度图进行中值滤波算法处理subplot(1,2,1),imshow(B);

subplot(1,2,2),imshow(B);

七、各种边缘检测算法

A=imread('C:\Documents and Settings\Administrator\桌面\1.JPG'); %读入红外图像文件

B=rgb2gray(A); %灰度化后的数据存入数组

b=im2double(B); %将图像转化为双精度浮点型

PF=edge(B,'prewitt'); %用prewitt算子进行边缘检测

RF=edge(B,'robert'); %用robert算子进行边缘检测

LF=edge(B,'log'); %用LOG算子进行边缘检测

CF=edge(B,'canny'); %用canny算子进行边缘检测

SF=edge(B,'sobel'); %用sobel算子进行边缘检测

D=~A; %图像求反,便于用腐蚀算法求边缘SE=strel('square',3); %定义3*3复试结构元素

J=imerode(~D,SE); %腐蚀运算

MM=(~D)-J; %检测边缘

imshow(PF);

title('prewitt算子进行检测')

imshow(RF);

title('robert算子进行检测')

imshow(LF);

title('LOG算子进行检测')

imshow(CF);

title('canny算子进行检测')

imshow(SF);

title('sobel算子进行检测')

imshow(MM);

title('数学形态学进行检测')

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

基于MATLAB的图像处理的基本运算

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于MATLAB的图像处理的基本运算 初始条件: 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)能够对图像亮度和对比度变化调整,并比较结果 (2)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存,比较几 种插值的效果 (3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 (4)对图像加入各种噪声,比较效果。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日 目录 摘要.......................................................................................................................... 错误!未定义书签。 1 MATLAB简介 ........................................................................................................ 错误!未定义书签。2图像选择及变换................................................................................................... 错误!未定义书签。 2.1 原始图像选择读取....................................................................................... 错误!未定义书签。 2.1.1 原理图的读入与基本变换 .................................................................... 错误!未定义书签。

基于MATLAB图像处理报告

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1 直方图 一.实验目的 1.熟悉matlab图像处理工具箱及直方图函数的使用; 2.理解和掌握直方图原理和方法; 二.实验设备 1.PC机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像 (b)原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡 一.实验目的 1.熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2.理解和掌握灰度均衡原理和实现方法; 二.实验设备 1.PC机一台; 2.软件matlab; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(2,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(2,2,3),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 a=histeq(I,256); %直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) %输出均衡化后图像 title('均衡化后图像') %在均衡化后图像中加标题 subplot(2,2,4),imhist(a) %输出均衡化后直方图 title('均衡化后图像直方图') %在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 (a)原始图像 (b)均衡化后图像

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

基于MATLAB的运动模糊图像处理

基于MATLAB的运动模糊图像处理 提醒: 我参考了文献里的书目和网上的一些代码而完成的,所以误差会比较大,目前对于从网上下载的模糊图片的处理效果很不好,这是我第一次上传自己完成的实验的文档,希望能帮到一些人吧。 研究目的 在交通系统、刑事取证中图像的关键信息至关重要,但是在交通、公安、银行、医学、工业监视、军事侦察和日常生活中常常由于摄像设备的光学系统的失真、调焦不准或相对运动等造成图像的模糊,使得信息的提取变得困难。但是相对于散焦模糊,运动模糊图像的复原在日常生活中更为普遍,比如高速运动的违规车辆的车牌辨识,快速运动的人群中识别出嫌疑人、公安刑事影像资料中提取证明或进行技术鉴定等等,这些日常生活中的重要应用都需要通过运动模糊图像复原技术来尽可能地去除失真,恢复图像的原来面目。因此对于运动模糊图像的复原技术研究更具有重要的现实意义。 图像复原原理 本文探讨了在无噪声的情况下任意方向的匀速直线运动模糊图像的复原问题,并在此基础上讨论了复原过程中对点扩散函数(PSF)的参数估计从而依据自动鉴别出的模糊方向和长度构造出最为近似的点扩散函数,构造相应的复原模型,实现运动模糊图像的复原;在模糊图像自动复原的基础上,根据恢复效果图的纹理特征和自动鉴别出的模糊长度和角度,人工调整模糊方向和长度参数,使得复原效果达到最佳。 实验过程 模糊方向的估计: 对图1(a)所示的原始图像‘车牌’图像做方向θ=30?,长度L=20像素的匀速直线运动模糊,得到退化图像如图1(b)

1(a) 1(b) j=imread('车牌1.jpg'); figure(1),imshow(j); title('原图像'); len=20; theta=30; psf=fspecial('motion',len,theta); j1=imfilter(j,psf,'circular','conv'); figure,imshow(j1); title('PSF 模糊图像'); 图1(c)和1(d)分别为原图像和模糊图像的二次傅里叶变化

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像imread Syntax: A = imread(, fmt) :指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到所制定的文件,会尝试查找一个名为的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含RGB 真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow() himage = imshow(...)

●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像素在图像中出现的概率。 图像的灰度直方图:是一个离散函数,表示图像每一灰度级与该灰度级出现概率的对应关系。 图像的灰度直方图运算: imhist()函数,其横坐标表示像素的灰度级别,纵坐标为像素点的个数。 ●Imhist函数=Display histogram of image data显示灰度直方图的函数 ●Syntax: ①imhist(I) % I为要计算的灰度直方图图像 ②imhist(I, n) % n指定的灰度级的数目,表示所有灰度级均匀分布在n个小区间内。 ③imhist(X, map) ④[counts,x] = imhist(...) %counts直方图数据向量。counts(i)第i个灰度区间中的像素数目。x是保存了对应的灰度小区间的向量。 注意:若调用时不接受这个函数的返回值,则直接显示直方图;在得这些返回数据之后,也可以使用stem(x,counts)手绘直方图。 ●例1:显示某一图像的灰度直方图

图像增强及MATLAB实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

图像运算的MATLAB实现

rice=imread(‘rice.png’); % 读入图像 I=double(rice); % 数据类型转换 J=I*0.43+60; % 像素点算术运算 rice2=uint8(J) % 数据类型转换subplot(1,2,1),imshow(rice); % 原图绘制subplot(1,2,2),imshow(rice2); % 计算后图像绘制

X = uint8([ 255 10 75; 44 225 100]); Y = uint8([ 50 20 50; 50 50 50 ]); Z = imdivide(X,Y)

I = imread('rice.png'); % 读入图像background = imopen(I,strel('disk',15)); % 图像开运算Ip = imdivide(I,background); % 图像除法运算imshow(Ip,[]) % 显示运算后的图像

I = imread('rice.png'); % 读入图像 J = imdivide(I,2); % 图像除以一个常数subplot(1,2,1), imshow(I) % 显示原始图像subplot(1,2,2), imshow(J) % 显示运算后的图像

I = imread('cameraman.tif'); % 读入图像J = imlincomb(2,I); % 灰度值放大imshow(J) % 显示运算后的图像

I = imread('cameraman.tif'); % 读入图像 J = uint8(filter2(fspecial('gaussian'), I)); % 图像滤波 K = imlincomb(1,I,-1,J,128); % K(r,c) = I(r,c) - J(r,c) + 128 % 图像相减后加上一个常数figure, imshow(K) % 显示运算后的图像

基于matlab数字图像处理与识别系统含程序

目录 第一章绪论 (2) 1.1 研究背景 (2) 1.2 人脸图像识别的应用前景 (3) 1.3 本文研究的问题 (4) 1.4 识别系统构成 (4) 1.5 论文的内容及组织 (5) 第二章图像处理的Matlab实现 (6) 2.1 Matlab简介 (6) 2.2 数字图像处理及过程 (6) 2.2.1图像处理的基本操作 (6) 2.2.2图像类型的转换 (7) 2.2.3图像增强 (7) 2.2.4边缘检测 (8) 2.3图像处理功能的Matlab实现实例 (8) 2.4 本章小结 (11) 第三章人脸图像识别计算机系统 (11) 3.1 引言 (11) 3.2系统基本机构 (12) 3.3 人脸检测定位算法 (13) 3.4 人脸图像的预处理 (18) 3.4.1 仿真系统中实现的人脸图像预处理方法 (19) 第四章基于直方图的人脸识别实现 (21) 4.1识别理论 (21) 4.2 人脸识别的matlab实现 (21) 4.3 本章小结 (22) 第五章总结 (22) 致谢 (23) 参考文献 (24) 附录 (25)

第一章绪论 本章提出了本文的研究背景及应用前景。首先阐述了人脸图像识别意义;然后介绍了人脸图像识别研究中存在的问题;接着介绍了自动人脸识别系统的一般框架构成;最后简要地介绍了本文的主要工作和章节结构。 1.1 研究背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除了它的重大理论价值外,也极具实用价值。 在进行人工智能的研究中,人们一直想做的事情就是让机器具有像人类一样的思考能力,以及识别事物、处理事物的能力,因此从解剖学、心理学、行为感知学等各个角度来探求人类的思维机制、以及感知事物、处理事物的机制,并努力将这些机制用于实践,如各种智能机器人的研制。人脸图像的机器识别研究就是在这种背景下兴起的,因为人们发现许多对于人类而言可以轻易做到的事情,而让机器来实现却很难,如人脸图像的识别,语音识别,自然语言理解等。如果能够开发出具有像人类一样的机器识别机制,就能够逐步地了解人类是如何存储信息,并进行处理的,从而最终了解人类的思维机制。 同时,进行人脸图像识别研究也具有很大的使用价依。如同人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。现在己有实用的计算机自动指纹识别系统面世,并在安检等部门得到应用,但还没有通用成熟的人脸自动识别系统出现。人脸图像的自动识别系统较之指纹识别系统、DNA鉴定等更具方便性,因为它取样方便,可以不接触目标就进行识别,从而开发研究的实际意义更大。并且与指纹图像不同的是,人脸图像受很多因素的干扰:人脸表情的多样性;以及外在的成像过程中的光照,图像尺寸,旋转,姿势变化等。使得同一个人,

MATLAB课程设计报告图像处理

一.课程设计相关知识综述...................................................................... 1.1 研究目的及意义 (3) 1.2 数字图像处理研究的内容........................................................... 1.3 MATLAB 软件的介绍.................................................................. 1.3.1 MATLAB 语言的特点......................................................... 1.3.2 MATLAB 图像文件格式.................................................... 1.3.3 MATLAB 图像处理工具箱简介........................................ 1.3.4 MATLAB 中的图像类型.................................................... 1.3.5 MATLAB 的主要应用........................................................ 1.4 函数介绍........................................................................................ 二.课程设计内容和要求........................................................................... 2.1 主要研究内容................................................................................ 2.2 具体要求....................................................................................... 2.3 预期达到的目标........................................................................... 三.设计过程............................................................................................... 3.1 设计方案及步骤............................................................................ 3.2 程序清单及注释........................................................................... 3.3 实验结果........................................................................................ 四.团队情况................................................................................................ 五.总结....................................................................................................... 六.参考文献............................................................................................... 一.课程设计相关知识综述. 1.1研究目的及意义

基本数字(精选)图像处理算法的matlab实现

基本数字图像处理算法的matlab实现 1.数字图像处理的简单介绍 所谓数字图像就是把传统图像的画面分割成为像素的小的离散点,各像素的灰度值也是用离散值来表示的。 数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 2.图像的显示与运算 2.1图像的显示 Matlab显示语句 imshow(I,[lowhigh])%图像正常显示 I为要显示的图像矩阵。,[lowhigh]为指定显示灰度图像的灰度范围。高于high的像素被显示成白色;低于low的像素被显示成黑色;介于high和low之间的像素被按比例拉伸后显示为各种等级的灰色。 subplot(m,n,p) 打开一个有m行n列图像位置的窗口,并将焦点位于第p个位置上。 2.2图像的运算 灰度化将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。

第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。 第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。 灰度是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。 图像增强的目标是改进图片的质量,例如增加对比度,去掉模糊和噪声,修正几何畸变等;图像复原是在假定已知模糊或噪声的模型时,试图估计原图像的一种技术。 Matlab图像格式转换语句 rgb2gray(I) %从RGB图创建灰度图 imhist(I) %画灰度直方图 图像的线性变换 D B=f(D A)=f A*D A+f B Matlab源代码: I1=imread('F:\图片2.jpg'); subplot(2,2,1);imshow(I1);title('原图'); I2=rgb2gray(I1); %灰度化图像 subplot(2,2,2);imshow(I2);title('灰度化后图'); [M,N]=size(I2); subplot(2,2,3) [counts,x]=imhist(I2,60); %画灰度直方图 counts=counts/M/N; stem(x,counts);title('灰度直方图'); g=zeros(M,N);%图像增强

基于Matlab的遥感图像处理

基于Matlab的遥感图像处理 测绘工程1161641014 鲍家顺 摘要文章运用Matlab软件对遥感影像的不足之处进行处理改善,详细介绍了处理方法和处理的原理,对处理结果进行了比对分析,并进行了边缘检测与特征提取,论证了处理方法的可行性。 关键词图像处理;matlab ;均衡化;规定化;色彩平衡;边缘检测;特征提取 在获取遥感图像过程中,由于多种因素的影响,会导致图像质量的退化,为了改善图像质量,突出遥感图像中的某些信息,提高图像的视觉效果,需要对图像进行各方面的处理,如分段线形拉伸,对数变换,直方图规定化、正态化,图像滤波,纹理分析及目标检测等。通过图像处理可以去除图像中的噪声,增强感兴趣的目标和周围背景图像间的反差,有选择地突出便于人或电脑分析的信息,抑制一些无用的信息,强调出图像的边缘,增强图像的识别方便性,从而进行边缘检测和特征提取。图像写出函数,显示图像函数有image ( ) 、inshow ( ) 等。[2 ]Matlab 图像处理工具箱处理工具提供了imhist () 函数来计算和显示图像的直方图, 提供了直方图均衡化的函数histeq() 、边缘检测函数edge ( ) 、腐蚀函数imerode () 、膨胀函数imdilate () 及二值图像转换函数im2bw () 等。文中实验数据采用的是桂林市区灰度遥感图像,宽度为1024 像素,高度为713 像素。 文件读入: 讲workspace切入到图片所在图层: Cd d:\ 读入图片: [x,cmap]=imread('m.PNG'); %将图片读入转换为矩阵 clf;imshow(x); %显示图片 原始图片

图像处理的matlab实现

成绩: 数字图像处理实验报告实验二:图像处理的matlab的实现 学号:0967118225 姓名:洪旭浩 同组人: 电脑编号: 实验时间:2010年6月4日星期一

数字图像处理实验报告 一、实验名称 图像处理的matlab 的实现 二、实验目的 1、了解Matlab 及其工具箱的基本使用方法 2、掌握使用Matlab 打开各种图像文件的方法 3、掌握使用Matlab 进行简单图像处理的方法 三、实验平台 Windows XP,Matlab 7.8.0(R2009a) 四、实验内容 一、直方图均衡化 直方图均衡化处理可将图像的灰度范围拉开,让灰度直方图在较大的动态范围内趋于一致。用图像),(y x f 的直方图代替灰度的分布密度函数)(f p f ,则直方图均衡化后的图像g 为: ?==f f du u p f T g 0)(][对于数字图像,设原图像的像素总数为N,灰度级的个数为L,第k 个灰度级出现的频数为k n 。若原图像),(y x f 在像素点),(y x 处的灰度为k r ,则直方图均衡化后的图像),(y x g 在),(y x 处的灰度k s 为: ∑===k l l k k N n r T s 0][MATLAB 图像处理工具箱提供了用于直方图均衡化的函数histep。histep 函数的语法格式为: J=histep(I,hgram) J=histep(I,n) [J,T]=histep(I,…) newmap=histep(X,map,hgram) newmap=histep(X,map) [newmap,T]=histep(X,…) 其中J=histep(I,hgram)将原始图像I 的直方图变成用户指定的向量hgram,hgram 中的各元素值域为[0,1]。 J=histep(I,n)指定直方图均衡化后的灰度级数n,默认值为64。 [J,T]=histep(I,…)返回能将图像I 的灰度直方图变换成图像J 的直方图的变换T。 newmap=histep(X ,map ,hgram)、newmap=histep(X ,map)和[newmap ,T]=histep(X,…)是针对索引色图像调色板的直方图均衡化。 1、使用以上语句,实现选定图像的直方图均衡化; 2、修改部分参数,观察不同参数下直方图均衡化的变化规律;

相关文档
最新文档