基于MATLAB的数字图像处理研究

基于MATLAB的数字图像处理研究
基于MATLAB的数字图像处理研究

基于MATLAB的数字图像处理研究

(乐山师范学院计算机学院,四川,乐山,614000)

摘要:伴随计算机硬件的发展,实时数字图像处理已变为现实,基于DSP的各种算法的涌现,使其处理速度更快,更好的适应了人们的需求。DSP指的是用计算机对数字图像进行的处理,数字图像处理主要有两个目的:其一,为了便于分析而对图像信息进行改进;其二,为使计算机自动理解而对图像数据进行存储、传输及显示。DSP技术已在很多领域上都有了广泛的应用。其中MATLAB是个交互式系统,系统提供了大量的矩阵及其他运算函数,可以方便的进行一些复杂的运算,且运算效率极高。本文内容从MA TLAB的简介,图像增强,图像去噪,实验仿真及分析等方面进行了相关专业介绍与实现

关键字:图像增强,图像去噪,实验仿真及分析

中图分类号:

Research on Digital Image Process Based on MA TLAB

Wanshu

(Computer College of Leshan Normal University, Leshan 614000, China)

Abstract:Along with the development of computer hardware, the real-time digital image processing has become a reality, all kinds of method based on DSP is emerging, make its processing speed faster, better adapted to the needs of the people. DSP refers to the use of the computer to the digital image processing, digital image processing have two main purpose: first, in order to facilitate analysis and improvement of image information; Second, to make the automatic computer to understand and image data storage, transmission and display. DSP technology in many fields has a wide range of applications. Among them is a MATLAB interactive system, the system provides a great deal of matrix and other operation function, can be convenient for some complex operation, and high efficiency operation. From the introduction of its MATLAB, image enhancement, image denoising, the simulation results and the analysis of the relevant professional introduction and implementation

Key words: Image enhancement, image denoising, experimental simulation and analysis

1 引言

matlab语言是由美国的Clever Moler博士于1980年开发的。

设计者的初衷是为解决“线性代数”课程的矩阵运算问题。取名MATLAB即Matrix Laboratory 矩阵实验室的意思

所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT变换等) 、图像分析和统计、二值图像操作等。下面就MATLAB 在图像处理中各方面的应用分别进行介绍。

(1)图像文件格式的读写和显示。MATLAB 提供了图像文件读入函数 imread(),用来读取如:bmp、tif、tiffpcx 、jpg 、gpeg 、hdf、xwd等格式图像文;图像写出函数 imwrite() ,还有图像显示函数 image()、imshow()等等。

(2)图像处理的基本运算。MATLAB 提供了图像的和、差等线性运算,以及卷积、相关、滤波等非线性算。例如,conv2(I,J)实现了I,J两幅图像的卷积。

(3)图像变换。MATLAB 提供了一维和二维离散傅立叶变换(DFT) 、快速傅立叶变换(FFT) 、离散余弦变换 (DCT) 及其反变换函数,以及连续小波变换(CWT)、离散小波变换(DWT)及其反变换。

(4)图像的分析和增强。针对图像的统计计算MATLAB 提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。

(5)图像的数学形态学处理。针对二值图像,MA TLAB 提供了数学形态学运算函数;腐蚀(Erode)、膨胀(Dilate)算子,以及在此基础上的开(Open)、闭(Close)算子、厚化(Thicken) 、薄化(Thin) 算子等丰富的数学形态学运算。

2 图像增强

简要论述图像增强的基本定义,并且说图像增强分为基于空域图像增强和基于频率的图像增强

。图像增强是一种图像处理技术,其目的是将原来不清晰的图像变得清晰或强调某些关注的特征,抑制非关注的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果的图像处理方法,并且所需的具体增强技术也可不同。

目前常用的增强技术根据其处理所进行的空间不同,可分为基于图像域的方法和基于变化域的方法。第一类,直接在图像所在的空间进行处理,也就是在像素组成的空间里直接对像素进行操作;第二类,在图像的变化域对图像进行间接处理。基于空域法图像增强的理论,主要对图像进行平滑滤波和锐化滤波分析。在此基础上,利用MATLAB对图像滤波进行编程和仿真,并将结果与频域法的低通滤波和高通滤波对图像增强的结果作比较,结果表明空域法改善图像质量的效果较好。

空域增强方法可表示为:g(x,y)=EH[f(x,y)]

其中f(x,y)和g(x,y)分别为增强前后的图像,EH代表增强操作。

⑴空域增强技术

采用直方图均衡化技术,通过Matlab工具箱中的imhist函数以及figure命令可以看出原始图像的直方图灰度范围较窄,并且图像中灰度值的高低区分不明显. 为了获得较好的增强效果,为此调用histep 函数将图像的灰度值扩展到整个灰度范围中,故像素能够分布在与图像类型有关的整个取值范围内,图像有了一定的改善.

⑵频域增强技术

小波变换:

采用小波变换获得图像增强. 利用小波变换对图像进行二尺度分解,对感兴趣的部分进行增强. 对低频系数进行放大,对高频系数进行缩小,可以有效去除图像的噪声、增强图像轮廓.

2.1 空域图像增强

⑴空域增强技术

采用直方图均衡化技术,通过Matlab工具箱中的imhist函数以及figure命令可以看出原始图像的直方图灰度范围较窄,并且图像中灰度值的高低区分不明显. 为了获得较好的增强效果,为此调用histep 函数将图像的灰度值扩展到整个灰度范围中,故像素能够分布在与图像类型有关的整个取值范围内,图像有了一定的改善.

2.1.1 直方图增强

(1)直方图均衡化

直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在

全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。

缺点:

1)变换后图像的灰度级减少,某些细节消失;

2)某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。%直方图均衡化

I=imread('ae.bmp'); %读入图像文件

K=histeq(I,64); %对图像进行直方图均衡化, 指定均衡化后的灰度级数为64

subplot(2,2,1), imshow(I),title(' 原始图像'); %显示原始图像

subplot(2,2,2), imhist(I,64),title(' 原始直方图'); %显示原始直方图

subplot(2,2,3), imshow(K),title(' 直方图均衡化后的图像');

subplot(2,2,4), imhist(K,64),title(' 直方图均衡化后的

直方图');

(2)直方图规定化

直方图均衡化能够自动增强整个图像的对比度,但它的具体增强效果不容易控制,处理的结果总是得到全局均匀化的直方图。实际上有时需要变换直方图,使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度。这时可以采用比较灵活的直方图规定化。一般来说正确地选择规定化的函数可以获得比直方图均衡化更好的效果。

所谓直方图规定化,就是通过一个灰度映像函数,将原灰度直方图改造成所希望的直方图。所以,直方图修正的关键就是灰度映像函数。

2.1.2 图像锐化

(1)水平垂直梯度算子

1。水平垂直差分法:

(2)Sobel 算子

Sobel 锐化算子

Sobel 锐化算子计算公式:

(5)

21

22)}

,(),({j i d j i d S y x +=

一阶微分锐化的效果比较: Sobel 算法与Priwitt 算法的思路相同,属于同一类型,因此处理效果基本相同。Roberts 算法的模板为2*2,提取出的信息较弱。 单方向锐化经过后处理之后,也可以对边界进行增强。

(3)Laplacian 算子

二阶微分锐化其算法为:

)1,()1,(),1(),1(),(42--+---+-=?∴j i f j i f j i f j i f j i f f 将其写成模板系数形式形式即为Laplacian 算子:

??????????----=010*******H

为了改善锐化效果,可以脱离微分的计算原理,在原有的算子基础上,对模板系数进行改变,获得Laplacian 变形算子如下所示:

????

??????--------=1111811112H ??????????----=1212421213H ??????????----=010*******H H1,H2的效果基本相同,H3的效果最不好,H4最接近原图。

(4)Prewitt 算子

Prewitt 锐化算子计算公式: ??????????---=121000121y d

2122)}

,(),({j i d j i d S y x p += (4)

其模板: ??????????---=101101101x d ??????

????---=111000111y d 特点:与Sobel 相比,有一定的抗干扰性。图像效果比较干净。

2.2 频域图像增强

论述具体的关于转移函数(高通滤波器)的内容。

卷积理论是频域技术的基础。设函数f (x,y )与线性位不变算子h (x,y )的卷积结果是g (x,y ),即g(x,y)=h(x,y)*f(x,y)

那么根据卷积定理在频域有:

G(x,y)=H(u,v)F(u,v)

其中G(x,y)、 H(u,v)、F(u,v)分别是g(x,y)、h(x,y)、f(x,y)的傅立叶变换。

频域增强的主要步骤是:

(1)技术所需增强图的傅立叶变换;

(2)将其与一个(根据需要设计的)转移函数相乘;

(3)再将结果进行傅立叶反变换以得到增强的图。

频域增强的两个关键步骤:

(1)将图像从空域转换到频域所需的变换及将图像从频域空间转换回空域所需的变换;

(2)在频域空间对图像进行增强加工操作。

常用的频域增强方法有低通滤波和高通滤波。以下分别介绍在MATLAB 中如何实现。

高通滤波也称高频滤波器,它的频值在0频率处单位为1,随着频率的增长,传递函数的值逐渐增加;当频率增加到一定值之后传递函数的值通常又回到0值或者降低到某个大于1的值。在前一种情况下,高频增强滤波器实际上是依照能够带通滤波器,只不过规定0频率处的增益为单位1。

实际应用中,为了减少图像中面积大且缓慢变化的成分的对比度,有时让0频率处的增益小于单位1更合适。如果传递函数通过原点,则可以称为laplacian 滤波器。

n 阶截断频率为d0的Butterworth 高通滤波器的转移函数为:

H (u ,v )=n d 2]v u /0d [11),(+

3 图像去噪

噪声可以理解为“妨碍人们感觉器官对所接收的信源信息理解的因素”。例如一幅黑白图片,其平面亮度分布假定为),(y x f ,那么对其接收起干扰作用的亮度分布),(y x R 即可称为图像噪声。但是,噪声

在理论上可以定义为“不可预测,只能用概率统计方法来认识的随机误差”。因此将图像噪声看成是多维随机过程是合适的,因而描述噪声的方法完全可以借用随机过程的描述,即用其概率分布函数和概率密度分布函数[10]。但在很多情况下,这样的描述方法是很复杂的,甚至是不可能的。而实际应用往往也不必要。通常是用其数字特征,即均值方差,相关函数等。因为这些数字特征都可以从某些方面反映出噪声的特征。

目前大多数数字图像系统中,输入图像都是采用先冻结再扫描方式将多维图像变成一维电信号,再对其进行处理、存储、传输等加工变换。最后往往还要在组成多维图像信号,而图像噪声也将同样受到这样的分解和合成。在这些过程中电气系统和外界影响将使得图像噪声的精确分析变得十分复杂。另一方面图像只是传输视觉信息的媒介,对图像信息的认识理解是由人的视觉系统所决定的。不同的图像噪声,人的感觉程度是不同的,这就是所谓人的噪声视觉特性课题。

图像噪声在数字图像处理技术中的重要性越来越明显,如高放大倍数航片的判读,X 射线图像系统中的噪声去除等已经成为不可缺少的技术步骤。

3.1 空域图像去噪

邻域平均

设f(x,y)表示图像中(x,y )点的实际灰度,Oi (i=1,2,…,8)表示f(x,y)各相邻点的灰度,则邻域平均法可表示为:

如果把上述的邻域平均处理看作一个作用于图像f(x,y)的低通滤波器,并设低通滤波器的脉冲响应为H(s,t),就可以用离散卷积形式的模板运算来进行噪声平滑运算,并一般地表示为

3.1.1 图像噪声的主要类型

图像噪声按其产生的原因可以分为:

外部噪声,即指系统外部干扰以电磁波或经电源串进系统内部而引起的噪声。如电气设备,天体放电现象等引起的噪声。

内部噪声:一般又可分为以下四种:

(1)由光和电的基本性质所引起的噪声。如电流的产生是由电子或空穴粒子的集合,定向运动所形成。因这些粒子运动的随机性而形成的散粒噪声;导体中自由电子的无规则热运动所形成的热噪声;根据光的粒子性,图像是由光量子所传输,而光量子密度随时间和空间变化所形成的光量子噪声等。

(2)电器的机械运动产生的噪声。如各种接头因抖动引起电流变化所产生的噪声;磁头、磁带等抖动或一起的抖动等。

(3)器材材料本身引起的噪声。如正片和负片的表面颗粒性和磁带磁盘表面缺陷所产生的噪声。随着材料科学的发展,这些噪声有望不断减少,但在目前来讲,还是不可避免的。

(4)系统内部设备电路所引起的噪声。如电源引入的交流噪声;偏转系统和箝位电路所引起的噪声等。

图像噪声从统计理论观点可以分为平稳和非平稳噪声两种。在实际应用中,不去追究严格的数学定义,这两种噪声可以理解为:其统计特性不随时间变化的噪声称其为平稳噪声。其统计特性随时间变化而变化?????>-=∑∑==其它

当),(|81),(|81),(8181y x f O y x f O y x g i i i i ε

的称其为非平稳噪声。

3.1.2 高斯滤波器

实质上是一种信号的滤波器,其用途是信号的平滑处理,我们知道数字图像用于后期应用,其噪声是最大的问题,由于误差会累计传递等原因,很多图像处理教材会在很早的时候介绍Gauss 滤波器,用于得到信噪比SNR 较高的图像(反应真实信号)。于此相关的有Gauss-Laplace 变换,其实就是为了得到较好的图像边缘,先对图像做Gauss 平滑滤波,剔除噪声,然后求二阶导矢,用二阶导的过零点确定边缘,在计算时也是频域乘积=>空域卷积。

3.1.3 中值滤波器

中值滤波是一种非线性信号处理方法,与其对应的中值滤波器也就是一种非线性滤波器。中值滤波器于1971提出并应用在一维信号时间序列分析中,后来被二维图像信号处理技术所引用。它在一定条件下可以克服线性滤波器(如邻域平滑滤波等)所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。在实际运算过程中并不需要图像的统计特性,这也带来不少方便。但是对一些细节多,特别是点、线、尖顶细节多的图像不宜采用中值滤波。

由于中值滤波是一种非线性运算,对随机输入信号的严格数学分析比较复杂,中值滤波原理

中值滤波就是用一个奇数点的移动窗口,将窗口中心点的值用窗口内个点的中值代替。假设窗口内有五点,其值为80、90、200、110、120,那么此窗口内各点的中值即为110。

设有一个一维序列n f f f ,,,21 ,取窗口长度(点数)为m (m 为奇数),对其进行中值滤波,就是从输入序列中相继抽出m 个数v i i i i v i f f f f f ++--,,,,,,11 (其中i f 为窗口的中心点值,

()2/1-=m v )

,再将这m 个点按其数值大小排序,取其序号为中心点的那个数作为滤波输出。用数学公式表示为:

(3-8)

3.2 频率图像去噪

论述具体的关于转移函数(低通滤波器)的内容。

高斯低通滤波器

D0=10、D0=20和D0=30的高斯低通滤波器的转移函数横截面图和透视图如图4.31所示 {}v i i v i i f f f Med y +-= ,,,2

1,-=∈m v N i

透视图的含义是:

只有那些位于该草帽型体内的频率范围的信号才能通过,而位于草帽型体外的频率成分都将被虑除掉。

4 实验仿真及分析

利用MATLAB语言实现各种典型的图像增强和图像去噪,假设需要处理的图像名称全部为“lena.bmp”,并且存放在当前路径。

4.1 图像增强

(1)直方图均衡化;

f = imread ( ‘lena.bmp’);

imshow(f);

figure,imhist(f);

ylim(‘auto’); %自动设定y轴坐标范围和刻度

g=histeq(f,256);

figure, imshow(g);

figure,imhist(g);

ylim(‘auto’);

(2)直方图规定化;

clear all

A=imread(' lena.bmp '); %读入bmp彩色图像

imshow(A) %显示出来

title('输入的bmp图像')

%绘制直方图

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

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

for k=0:255

B(k+1)=length(find(A==k))/(m*n);

end

figure,bar(0:255,B,'g');

title('原图像直方图')

xlabel('灰度值')

ylabel('出现概率')

axis([0,260,0,0.015])

S1=zeros(1,256);

for i=1:256

for j=1:i

S1(i)=B(j)+S1(i);

end

end

counts=[zeros(1,49),0.1,zeros(1,49),0.2,zeros(1,49),0.3,zeros(1,49),0.1,zeros(1,49),0.2,zeros(1,49),0.1];%规定化直方图

figure,bar(1:300,counts,'r')

S2=zeros(1,256);

for i=1:256

for j=1:i

S2(i)=counts(j)+S2(i);

end

end;

%对比直方图,找到相差最小的灰度级

for i=1:256

for j=1:256

if S1(j)<=S2(i)&S1(j+1)>=S2(i)

if abs(S1(j)-S2(i))<=abs(S1(j+1)-S2(i)) T(i)=j;

else T(i)=j+1;

end

(3)Sobel算子增强图像;

I=imread(lena.bmp);

subplot(2,2,1);

imshow(I);

title(‘原图像’);

H=fspecial(‘sobel’);

I2=filter2(H,I);

Subplot(2,2,2);

Imshow(I2);

Title(‘soble算子锐化图像’);

(4)Laplacian算子增强图像;

a=imread(' lena.bmp ');

a=double(a);

b=[-1 -1 -1;-1 8 -1;-1 -1 -1]; y=spatialfilt(a,b);

imshow(a,[]);

title('original');

figure

imshow(y,[]);

title('filtered image');

(5)Prewitt算子增强图像。

clear all

close all

A = imread(' lena.bmp ');

imshow(A);title('原图');

y_mask = [-1 -1 -1;0 0 0;1 1 1];

x_mask = y_mask';

I = im2double(A);

dx = imfilter(I, x_mask);

dy = imfilter(I, y_mask);

grad = sqrt(dx.*dx + dy.*dy);

grad = mat2gray(grad);

level = graythresh(grad);

BW = im2bw(grad,level);

figure, imshow(BW);

title('Prewitt')

|

4.2 图像去噪

(1)生成含有高斯噪声图像;

I2=imread('eight.tif');

subplot(2,3,4),imshow(I2);

title('original');

J2=imnoise(I2,'gaussian',0.2); subplot(2,3,5),imshow(J2);

(2)生成含有椒盐噪声图像;

I=imread(' lena.bmp '); % 读入图像subplot(2,3,1),imshow(I);

title('original');

J=imnoise(I,'salt & pepper',0.2); subplot(2,3,2),imshow(J);

title('noise image');

(3)去除高斯噪声;

I2=imread(' lena.bmp ');

subplot(2,3,4),imshow(I2);

title('original');

J2=imnoise(I2,'gaussian',0.2);

subplot(2,3,5),imshow(J2);

title('noise image');

text(-20,320,'gaussian Noise filter');

h=[1,1,1;1,0,1;1,1,1];

h=h/8;

K2=conv2(J2,h);

subplot(2,3,6),imshow(K2,[]);

title('filter image');

(4)去噪椒盐噪声。

I=imread(' lena.bmp ');

subplot(2,3,1),imshow(I);

title('original');

J=imnoise(I,'salt & pepper',0.2);

subplot(2,3,2),imshow(J);

title('noise image');

text(-20,320,'Salt & Pepper Noise filter');

h=[1,1,1;1,0,1;1,1,1];

h=h/8;

K=conv2(J,h);

subplot(2,3,3),imshow(K,[]);

5 结语

Matlab语言对数字图像进行增强处理时具有编程简单、处理速度快的特点. 本文首先简单介绍了matlab的一些概念,然后着重讲解了图像matlab在图像增强和图像去噪方面的应用,最后通过实验仿真及分析的相关例题展示了图像处理的具体实现过程。

参考文献

1.R. C. Gonzalez, R. E. Woods。《数字图像处理》(第二版)。北京:电子工业出

版社,2003。

2.张德丰,《数字图像处理MATLAB版》,人民邮电出版社,2011,1

3.R. C. Gonzalez, R. E. Woods, S. L. Eddins。《数字图像处理》(MA TLAB版)。

北京:电子工业出版社,2005。

4.徐飞,施晓红。《Matlab应用图像处理》。西安:西安电子科技大学出版社,

200

5.张志涌,《精通MATLAB

6.5》,北京北航电子版,2002.12

非常全非常详细的MATLAB数字图像处理技术

MATLAB数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1 图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1] A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,V al1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Empty or not,Mode:lossy or lossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。 同时显示多帧图像的所有帧,可用到montage函数。

数字图像处理实验程序MATLAB.

实验一 内容(一) (1)彩色图像变灰度图像 A=imread('1.jpg'); B=rgb2gray(A); figure subplot(1,2,1), imshow(A) title('原图') subplot(1,2,2), imshow(B) title('原图灰度图像') (2)彩色图像变索引图像 A=imread('1.jpg'); figure subplot(1,2,1), imshow(A) title('原图') [X,map]=rgb2ind(A,128); subplot(1,2,2), imshow(X,map) title('原图索引图像') (3)彩色图像变二值图像 A=imread('1.jpg'); figure subplot(1,2,1), imshow(A) title('原图') C=im2bw(A,0.2); subplot(1,2,2), imshow(C) title('原图二值图像') (4)灰度图像变索引图像(一) A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') C=grayslice(B,39); subplot(1,2,2), imshow(C) title('灰度变索引图像')

(5)灰度图像变索引图像(二) A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') [X,map]=gray2ind(B,63); subplot(1,2,2), imshow(X,map) title('灰度变索引图像') (6)灰度图像变彩色图像 A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') C=gray2rgb(B,map); subplot(1,2,2), imshow(C) title('灰度变彩色图像') 内容(二) (1)灰度平均值 A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') B=double(B); [m,n]=size(B); sumg=0.0; for i=1:m; for j=1:n; sumg=sumg+B(i,j); end end avg=sumg/(m*n) % 均值 maxg=max(max(B)) % 区域最大灰度ming=min(min(B)) % 区域最小灰度 (2)彩色平均值

用Matlab进行数字图像处理实验1

实验报告 专业:信息与计算科学班级:07级(1)班指导老师:汪太月老师姓名:刘莲学号:0641210224 实验室:K7-407 实验名称:Matlab图像工具箱的使用时间:2010.6.13 一、实验目的及要求 (一)实验目的 1、掌握MATLAB中常用的图像处理语句; 2、掌握图像的读入,信息查询以及显示; 3、掌握采用不同的模板对图像进行滤波; 4、掌握图像显示的调用格式; (二)实验要求 1、练习MATLAB中常用的图像处理语句; 2、练习图像的读入,信息查询以及显示; 3、练习采用不同的模板对图像进行滤波; 4、练习图像显示的调用格式; 二、实验设备(环境)及要求 1、支持Intel Pentium Ⅲ及其以上CPU,内存256MB以上、硬盘1GB以上容量的微机;软件配有 Windows98/2000/XP操作系统及MATLAB软件; 2、实验过程中,务必分析实验结果,按要求写出实验报告。(建议同时网上提交电子版实验报告: yw6895@https://www.360docs.net/doc/cf13527100.html,) 三、实验内容与步骤 1、练习MATLAB中常用的图像处理语句 Matlab中为用户提供了一些特殊的函数,用于从图像格式的文件中读写图像。其中:a、读取图形文件格式的图像需要用imread函数; b、写入一个图形文件格式的图像需要调用imwrite函数; c、获取图形文件格式的图像的信息需要调用imfinfo、ind2rgb函数; d、以Mat文件加载或保存矩阵数据用load、save函数; e、显示加载到Matlab中的图像用image、imagesc. 此外,Matlab工具箱中还提供了图像转化函数,可以对图像类型进行转化,以达到某些图像处理工作的要求。 下面,我们将分别对这些常用的图像处理语句在Matlab中进行练习,并观察其输出结果: (1)在Matlab中读入一个灰度图像,并利用相关函数进行图像处理,并显示结果。 Matlab程序如下: I=imread('lena.bmp'); %读入原图像文件 imshow(I) %图像文件的显示 imwrite(I,'lena1.bmp'); %将原图像重命名为lena1.bmp,并保存图像 figure,imhist(I,225) %显示原图像的直方图,225为指定的灰度级数目 X=grayslice(I,64); %将原图像I均匀量化成64个等级,然后转化成索引色图像X figure,imshow(X,pink(64)) %显示索引色图像,pink(64)产生一个64×3的调色板,色度为粉红运行结果如下: 500 1000 1500 2000 2500 3000 3500 050100150200250 (2)练习图像的读入,信息查询以及显示 Matlab程序如下: load trees image(50,80,X) %显示加载到Matlab中的图像 imwrite(X,map,'trees.tif'); %将图像以tif格式保存 inf=imfinfo('trees.tif') %图像文件信息的查询 BW=im2bw(X,map,0.4); %将索引图像转化成二值图像 figure,imshow(X,map) %显示图像 figure,imshow(BW) 运行结果如下: 50100150200250300350 100 150 200 250 300 %显示从Matlab中加载的图像文件的信息 inf = Filename: 'trees.tif' FileModDate: '18-六月-2010 19:41:48' FileSize: 75764 Format: 'tif' FormatVersion: [] Width: 350 Height: 258 BitDepth: 8 ColorType: 'indexed' FormatSignature: [73 73 42 0] ByteOrder: 'little-endian' NewSubFileType: 0 BitsPerSample: 8 Compression: 'PackBits'

非常全非常详细的MATLAB数字图像处理技术

MATLAB数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n 默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1]A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,Val1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Emptyor not,Mode:lossy orlossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。

用matlab数字图像处理四个实验

数字图像处理 实验指导书

目录 实验一MATLAB数字图像处理初步实验二图像的代数运算 实验三图像增强-空间滤波 实验四图像分割 3

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: ?亮度图像(Intensity images)

(完整版)数字图像处理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数字图像处理源代码

数字图像去噪典型算法及matlab实现 希望得到大家的指点和帮助 图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响 到后续的图像处理工作如图像分割、边缘检测等。图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等; 目前比较经典的图像去噪算法主要有以下三种: 均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度 的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊, 可以对其进行改进,主要避开对景物边缘的平滑处理。 中值滤波:基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。 Wiener维纳滤波:使原始图像和其恢复图像之间的均方误差最小的复原方法,是一种自适应滤波器,根据局部方差来调整滤波器效果。对于去除高斯噪声效果明显。 实验一:均值滤波对高斯噪声的效果 l=imread('C:\Documents and 桌面\1.gif');% 读取图像

J=imnoise(l,'gaussian',0,0.005);% 加入均值为0 ,方差为 0.005 的高斯噪声subplot(2,3,1);imshow(l); title(' 原始图像'); subplot(2,3,2); imshow(J); ti tle('加入高斯噪声之后的图像’); %采用MATLAB 中的函数filter2 对受噪声干扰的图像进行均值滤波 K1=filter2(fspecial('average',3),J)/255; % 模板尺寸为3 K2=filter2(fspecial('average',5),J)/255;% 模板尺寸为5 K3=filter2(fspecial('average',7),J)/255; % 模板尺寸为7 K4= filter2(fspecial('average',9),J)/255; % 模板尺寸为9 subplot(2,3,3);imshow(K1); ti tle(' 改进后的图像1'); subplot(2,3,4); imshow(K2); title(' 改进后的图像2'); subplot(2,3,5);imshow(K3); title(' 改进后的图像3'); subplot(2,3,6);imshow(K4); title(' 改进后的图像4');

MATLAB数字图像处理技术

MATLAB 数字图像处理技术 4 MATLAB 图像增强 4.1 原理、方法及体系结构 三个阶段:图像预处理、特征抽取阶段、识别分析阶段。 目的:改善图像的视觉效果,提高图像成分的清晰度;是图像变得有利于计算机处理。 方法:空间域增强方法、频域增强方法。 体系: 图像增强:空间域、频率域、彩色增强 空间域:像素点处理(图像灰度变换、直方图修正(中值滤波、均值滤波))、领域处理(图像平滑滤波、图像锐化滤波) 频率域:低通滤波、高通滤波、同态滤波 彩色处理:真彩色处理、伪彩色处理(灰度分层法、灰度变换法、频域伪彩色) 4.2 对比度增强 线性变换:(,)[(,)]N n g x y f x y m n M m -= -+-。其中功能是把函数的灰度值(,)f x y 从 范围[m,M]变为[n,N]。 非线性变换:分为对数变换和Gamma 变换。前者表达式为(,)log[(,)1]g x y c f x y =+, 其中c 为常数。后者表达式为r f cr =,r 为CCD 图像传感器或胶片等的入射光的强度,为 常数,灰度与光强成正比,则有1 ()r f g kr k c ==,k 为常数通常为1,1/r 取0.4~0.8。 我们可以用一个函数imadjust 函数来实现: J=imadjust(I); J=imadjust(I,[low_in;high_in],[low_out;high_out]); J=imadjust(I,[low_in;high_in],[low_out;high_out],gamma)。 其中灰度范围用归一化灰度值,范围[0,1]。整个图像的[low_in;high_in]可以用函数stretch 函数来获得。 MATLAB image toolbox5.4还提供一个手动调节的控制面板,调用函数imconstrast 。 4.3 空域变换增强 分为基于像素点和基于模板的两类方法。 像素选择:pixval 和impixel 。用法如下: Pixval(‘on/off ’);pixval ;pixval(fig,option); [C,R,P]=impixel(X,MAP)。 说明:MAP 仅仅当是索引图的时候采用此参数。C 为像素的颜色,R,P 为像素的坐标。Pixval 可以得到更多的像素信息,impixel 可以返回指定像素的颜色值。 强度描述图:improfile ,用以描述图像一条线段或多条线段的强度值。格式:

基于Matlab的数字图像处理系统设计设计

论文(设计)题目: 基于MATLAB的数字图像处理系统设计

基于MATLAB的数字图像处理系统设计 摘要 MATLAB 作为国内外流行的数字计算软件,具有强大的图像处理功能,界面简洁,操作直观,容易上手,而且是图像处理系统的理想开发工具。矚慫润厲钐瘗睞枥庑赖。 笔者阐述了一种基于MATLAB的数字图像处理系统设计,其中包括图像处理领域的大部分算法,运用MATLAB 的图像处理工具箱对算法进行了实现,论述了利用系统进行图像显示、图形表换及图像处理过程,系统支持索引图像、灰度图像、二值图像、RGB 图像等图像类型;支持BMP、GIF、JPEG、TIFF、PNG 等图像文件格式的读,写和显示。聞創沟燴鐺險爱氇谴净。 上述功能均是在MA TLAB 语言的基础上,编写代码实现的。这些功能在日常生活中有很强的应用价值,对于运算量大、过程复杂、速度慢的功能,利用MATLAB 可以既能快速得到数据结果,又能得到比较直观的图示。残骛楼諍锩瀨濟溆塹籟。 关键词:MATLAB 数字图像处理图像处理工具箱图像变换

第一章绪论 1.1 研究目的及意义 图像信息是人类获得外界信息的主要来源,近代科学研究、军事技术、工农业生产、医学、气象及天文学等领域中,人们越来越多地利用图像信息来认识和判断事物,解决实际问题,由此可见图像信息的重要性,数字图像处理技术将会伴随着未来信息领域技术的发展,更加深入到生产和科研活动中,成为人类生产和生活中必不可少的内容。酽锕极額閉镇桧猪訣锥。 MATLAB 软件不断吸收各学科领域权威人士所编写的实用程序,经过多年的逐步发展与不断完善,是近几年来在国内外广泛流行的一种可视化科学计算软件。MATLAB 语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言来编写程序,比Basic、Fortan、C 等高级语言更加接近我们书写计算公式的思维方式,用MATLAB 编写程序犹如在演算纸上排列出公式与求解问题一样。它编写简单、编程效率高并且通俗易懂。彈贸摄尔霁毙攬砖卤庑。 1.2 国内外研究现状 1.2.1 国内研究现状 国内在此领域的研究中具有代表性的是清华大学研制的数字图像处理实验开发系统TDB-IDK 和南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件。謀荞抟箧飆鐸怼类蒋薔。 TDB-IDK 系列产品是一款基于TMS320C6000 DSP 数字信号处理器的高级视频和图像系统,也是一套DSP 的完整的视频、图像解决方案,该系统适合院校、研究所和企业进行视频、图像方面的实验与开发。该软件能够完成图像采集输入程序、图像输出程序、图像基本算法程序。可实现对图像信号的实时分析,图像数据相对DSP独立方便开发人员对图像进行处理,该产品融合DSP 和FPGA/CPLD 两个高端技术,可以根据用户的具体需求合理改动,可以分析黑白和彩色信号,可以完成图形显示功能。厦礴恳蹒骈時盡继價骚。 南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件可实现数字图像的采集、传输与处理。可利用软件及图像采集与传输设备,采集图像并实现点对点的数字图像传输,可以观察理解多种图像处理技术的效果和差别,

数字图像处理 matlab代码

MATLAB实用源代码 图像读取及灰度变换 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 图像旋转 I = imread('cameraman.tif'); figure,imshow(I); theta = 30; K = imrotate(I,theta); % Try varying the angle, theta. figure, imshow(K) 边缘检测 I = imread('cameraman.tif'); J1=edge(I,'sobel'); J2=edge(I,'prewitt'); J3=edge(I,'log'); subplot(1,4,1),imshow(I); subplot(1,4,2),imshow(J1); subplot(1,4,3),imshow(J2); subplot(1,4,4),imshow(J3); 1.图像反转 MATLAB 程序实现如下: I=imread('xian.bmp'); J=double(I); J=-J+(256-1); %图像反转线性变换 H=uint8(J); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(H); 2.灰度线性变换 MATLAB 程序实现如下: I=imread('xian.bmp'); subplot(2,2,1),imshow(I); title('原始图像'); axis([50,250,50,200]); axis on; %显示坐标系 I1=rgb2gray(I); subplot(2,2,2),imshow(I1); title('灰度图像'); axis([50,250,50,200]);

(整理)实验一 MATLAB数字图像处理初步.

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 6. 了解图像的算术运算在数字图像处理中的初步应用。 7.体会图像算术运算处理的过程和处理前后图像的变化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。

图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: 亮度图像(Intensity images) 二值图像(Binary images) 索引图像(Indexed images) RGB图像(RGB images) (1) 亮度图像 一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。若图像是double类,则像素取值就是浮点数。规定双精度型归一化亮度图像的取值范围是[0,1] (2) 二值图像 一幅二值图像是一个取值只有0和1的逻辑数组。而一幅取值只包含0和1的uint8类数组,在MA TLAB中并不认为是二值图像。使用logical函数可以把数值数组转化为二值数组或逻辑数组。创建一个逻辑图像,其语法为: B=logical(A) 其中,B是由0和1构成的数值数组。 要测试一个数组是否为逻辑数组,可以使用函数: islogical(c) 若C是逻辑数组,则该函数返回1;否则,返回0。 (3) 索引图像 索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选用的一组颜色也很有限,索引颜色的图像最多只能显示256种颜色。 一幅索引颜色图像在图像文件里定义,当打开该文件时,构成该图像具体颜色的索引值就被读入程序里,然后根据索引值找到最终的颜色。 (4) RGB图像 一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色相似点都是在特定空间位置的彩色图像相对应的红、绿、蓝三个分量。按照惯例,形成一幅RGB彩色图像的三个图像常称为红、绿或蓝分量图像。 令fR,fG和fB分别代表三种RGB分量图像。一幅RGB图像就利用cat(级联)操作将这些分量图像组合成彩色图像: rgb_image=cat(3,fR,fG,fB) 在操作中,图像按顺序放置。 2、数据类和图像类型间的转化 表1中列出了MATLAB和IPT为表示像素所支持的各种数据类。表中的前8项称为数值数据类,第9项称为字符类,最后一项称为逻辑数据类。 工具箱中提供了执行必要缩放的函数(见表2)。以在图像类和类型间进行转化。

Matlab数字图像处理技术 最终版

Matlab数字图像处理技术 一、数字图像处理基础 1、图形和图像的区别 图形(矢量图):以几何数学为基础,图形由点、线、圆等图元组成,图形文件仅记录点的坐标和绘图命令。 图像(点阵图):用像素来描述的图,图像文件中记录每个像素的颜色和亮度。 2、四邻域和八邻域: 4-邻域:设像素p(x,y),它有4个水平和垂直相邻的像素:(x-1,y)(x+1,y) (x,y-1)(x,y+1),这4个点组成p的4-邻域。 对角邻域:像素p(x,y)的4个对角临近像素:(x-1,y-1)(x+1,y-1) (x-1,y+1)(x+1,y+1),这4个点组成p的对角邻域。 8-邻域:像素p的4-邻域和对角邻域合起来组成p的8-邻域。 3、彩色模型 (1)RGB模型 8种颜色配比(归一化): (2)HIS模型:H(色度),S(饱和度),(I)亮度。 (3)二值模型:0—黑色,1—白色。 (4)灰度模型:白—黑有256个灰度级来显示图像,0—黑色,255—白色。 (5)几种图像的颜色数: 二值图像:2种像素值 灰度图像:256种灰度级 彩色图像:256 * 256 * 256 = 2^24种 索引彩色: 4、图像处理中常用的输入设备:数码相机、数码摄像机、扫描仪; 图像处理中常用的输出设备:显示器、打印机、绘图仪。 5、图像的存储: 空间分辨率:M * N 幅度分辨率:G = 2^K 存储一幅图像所需位数(bit):b = M * N * K。

二、图像的基本运算 1、图像点运算 F为输入点的灰度值,G为输出点的灰度值, a) b = 0时,a>1,图像对比度增大;00,灰度值上移,亮度增加;b<0,灰度值下移,亮度降低。 c) a = 1,b = 255,图像反相。 Matlab中图像线性变换: Y = imlincomb(a,x,b); %Y=a*X+b 2、图像的加法运算 C(x,y) = A(x,y) + B(x,y) 图像的叠加方法: g(x,y) = a*f(x,y)+ b*h(x,y);a+b = 1 matlab中: A = imread(‘第一幅图’); B = imread(‘第二幅图’); C = 0.5*A + 0.5*B; Imshow(c); 3、减法运算 主要检测同一场景两幅图像之间的变化 G(x,y) = T2(x,y)- T1(x,y) Matlab中: A = imread(‘第一幅图’); B = imread(‘第二幅图’); C = A - B; Imshow(c); 4、乘法运算 用二值图像与原图像做乘法,得到需要的子图像。 Z = X .* Y; 要求X和Y的大小、数组元素相同。 Matlab中: X = imread(‘被点乘的图像’); Y = zeros(M,N); Y (70:120, 120:380) = 1; X = im2double(X); Z = X.*Y;

数字图像处理(MATLAB版)

数字图像处理(MATLAB版) 实验指导书 (试用版) 本实验指导书配合教材和课堂笔记中的例题使用 姚天曙编写 安徽农业大学工学院 2009年4月试行 目录 实验一、数字图像获取和格式转换 2 实验二、图像亮度变换和空间滤波 6 实验三、频域处理7 实验四、图像复原9 实验五、彩色图像处理10 实验六、图像压缩11 实验七、图像分割13 教材与参考文献14 《数字图像处理》实验指导书 实验一、数字图像获取和格式转换 一、实验目的 1掌握使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法; 2修改图像的存储格式;并比较不同压缩格式图像的数据量的大小。 二、实验原理 数字图像获取设备的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。各类设备都标明了它的光学分辨率和最大分辨率。分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。 扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者

图纸照片;然后启动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x 方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。扫描仪工作原理见图1.1。 图1.1扫描仪的工作原理 在扫描仪的工作过程中,有两个元件起到了关键的作用。一个是CCD,它将光信号转换成为电信号;另一个是A/D变换器,它将模拟电信号变为数字电信号。CCD是Charge Couple Device的缩写,称为电荷耦合器件,它是利用微电子技术制成的表面光电器件,可以实现光电转换功能。CCD在摄像机、数码相机和扫描仪中应用广泛,只不过摄像机中使用的是点阵CCD,即包括x、y两个方向用于摄取平面图像,而扫描仪中使用的是线性CCD,它只有x一个方向,y方向扫描由扫描仪的机械装置来完成。CCD芯片上有许多光敏单元,它们可以将不同的光线转换成不同的电荷,从而形成对应原稿光图像的电荷图像。 数码相机的系统结构(见图1.2)数码相机的许多特殊部件,如图像传感器(CCD或CMOS)、模/数转换器(A/D)、数字信号处理单元(DSP)、图像存储器、液晶显示器(LCD)以及输出控制单元(连接端口)等是传统胶片相机所没有的。 仔细分析一下数码相机的原理方框图,我们不难发现,数码相机的系统工作过程就是把光信号转化为数字信号的过程。数码相机使用CCD电荷耦合器件这种光敏元件代代替胶卷感光成像。光线通过透镜系统和滤色器(滤光器)投射到CCD光敏元件上,CCD元件将其光强和色彩转换为电信号记录到数码相机的存储器中,形成计算机可以处理的数字信号。 数码相机除了光学透镜系统外,其余几乎全由电子电路控制。基本的信号处理过程非常简单。由CCD送来的电信号通过A/D转换器转换为数字信号,然后送入具有信号处理能力的DSP(数字信号处理器)。DSP处理工作量很大,一般都设计成专用的硬件。信号进一步送给离散余弦变换部件DCT进行JPEG压缩,然后通过接口电路记录到位于最后一级的存储器。 图1.2 数码相机原理图 数码摄像机的感光器件也即数码摄像机感光成像的部件,能把光线转变成电荷,通过模数转换器芯片转换成数字信号。目前数码摄像机的核心成像部件有两种:一种是广泛使用的CCD(电荷藕合)元件;另一种是CMOS (互补金属氧化物导体)器件。电荷藕合器件图像传感器CCD(Charge Coupled Device),它使用一种高感光度的半导体材料制成,能把光线转变成电荷,通过模数转换器芯片转换成数字信号,数字信号经过压缩以后由相机内部的闪速存储器或内置硬盘卡保存,因而可以轻而易举地把数据传输给计算机,并借助于计算机的处理手段,根据需要和想像来修改图像。CCD由许多感光单位组成,通常以百万像素为单位。当CCD表面受到光线照射时,每个感光单位会将电荷反映在组件上,所有的感光单位所产生的信号加在一起,就构成了一幅完整的画面。互补性氧化金属半导体CMOS(Complementary Metal-Oxide Semiconductor)和CCD一样同为在数码相机中可记录光线变化的半导体。CMOS的制造技术和一般计算机芯片没什么差别,主要是利用硅和锗这两种元素所做成的半导体,使其在CMOS上共存着带N(带–电)和 P(带+电)级的半导体,这两个互补效应所产生的电流即可被处理芯片纪录和解读成影像。然而,CMOS的缺点就是太容易出现杂点, 这主要是因为早期的设计使CMOS在处理快速变化的影像时,由于电流变化过于频繁而会产生过热的现象。由两种感光器件的工作原理可以看出,CCD的优势在于成像质量好,但是由于制造工艺复杂,只有少数的厂商能够掌握,所以导致制造成本居高不下,特别是大型CCD,价格非常高昂。在相同分辨率下,CMOS价格比CCD便宜,但是CMOS器件产生的图像质量相比CCD来说要低一些。到目前为止,市面上绝大多数的消费级别以及高端数码相机都使用CCD作为感应器;CMOS感应器则作为低端产品应用于一些摄像头上,是否具有CCD感应器变成了人们判断数码相机档次的标准之一。

MATLAB在数字图像处理上的应用

MATLAB在数字图像增强处理上的应用 姓名: 学号: 专业: 班级: 学院: 完成日期:

MATLAB在图像增强处理中的应用 (姓名学号年级班级) [摘要]数字图像增强处理是一门新兴技术,随着计算机硬件的发展,数字增强图像的实时处理已经成为可能,由于数字图像增强处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。数字增强图像处理是一种通过计算机采用一定的算法对图形图像进行增强处理的技术。数字图像增强处理技术已经在各个领域上都有了比较广泛的应用。图像增强处理的信息量很大,对处理速度的要求也比较高。 MATLAB语言因具有功能强、效率高、简单易学等特点,在许多领域得到广泛应用。MATLAB强大的运算和图形展示功能,使图像增强处理变得更加的简单和直观。本文介绍了MATLAB 语言的特点,基于MATLAB的数字图像处理环境,介绍了如何利用MATLAB进行数字图像增强处理,并通过一些例子来说明利用MATLAB进行图像增强处理的方法,重点分析了MATLAB在图象增强处理中的应用。通过实例验证了该语言具有强大图形处理能力, 是一种简洁易学, 可读性强、功能强大的应用软件。 [关键词]MATLAB语言、数字图像处理、图像增强

Abstract Digital image processing is an emerging technology, with the development of computer hardware, real-time digital image processing has become possible due to digital image processing algorithms to appear, making it faster and faster processing speed, better for People services .Digital image processing is used by some algorithms computer graphics image processing technology. Digital image processing technology has been in various areas have a relatively wide range of applications. Image processing large amount of information on the processing speed requirement is relatively high. MATLAB powerful computing and graphics display capabilities, so that image processing becomes more simple and intuitive. This paper introduces characteristics of MATLAB language and this MATLAB-based digital image processing environment, describes how to use the MATLAB Image Processing Toolbox for its digital image processing, and through some examples to illustrate the use of MATLAB Image Processing Toolbox for image processing method. Mainly discusses the use of MATLAB for image enhancement and other image processing technologies. Keywords: MATLAB, digital image processing, image enhancement.

相关文档
最新文档