(完整版)实验二用MATLAB处理连续系统

(完整版)实验二用MATLAB处理连续系统
(完整版)实验二用MATLAB处理连续系统

单位冲击信号δ(t)

实验二 用MATLAB 处理连续系统

数学模型

一、实验目的

1. 学会LTI 系统模型的建立;

2. 掌握相关函数的调用格式及作用;

3. 掌握连续信号的基本运算。

二、实验设备

计算机一台,装有MATLAB 软件

三、实验原理及基本操作

1.典型信号 (1)阶跃信号

10

()00

t u t t >?=?

0; plot(t,f);

axis([-1,3,-0.2,1.2]); 注:参见函数Heaviside

(2)单位冲激信号

定义冲激函数

function chongji(t1,t2,t0) dt=0.01; t=t1:dt:t2;

n=length(t); x=zeros(1,n); x(1,(t0-t1)/dt+1)=1/dt; stairs(t,x);

axis([t1,t2,0,1.2/dt])

title('单位冲击信号δ(t)')

图中调用的是chongji(-1,5,0);可以试着给别的t1,t2,t0,可以得到δ(t-t0)的波形。

注:参见函数dirac

2.连续信号的时域基本运算

相加、相乘、移位、反折、尺度变换、倒相

已知信号

)]

2

(

)2

(

[

)

2

1(

)(-

-

+

?

+

=t

t

t

t

ε

,用matlab求f(t+2),f(t-2),f(-t),f(2t),-f(t),

并绘出时域波形。

syms t

f=sym('(t/2+1)*(heaviside(t+2)-heaviside(t-2))') subplot(2,3,1);

ezplot(f,[-3,3])

title('f(t)')

y1=subs(f,t,t+2)

subplot(2,3,2),ezplot(y1,[-5,1])

title('f(t+2)')

y2=subs(f,t,t-2)

subplot(2,3,3),ezplot(y2,[-1,5])

title('f(t-2)')

y3=subs(f,t,-t)

subplot(2,3,4),ezplot(y3,[-3,3])

title('f(-t)')

y4=subs(f,t,2*t)

subplot(2,3,5),ezplot(y4,[-2,2])

title('f(2t)')

y5=-f

subplot(2,3,6),ezplot(y5,[-3,3])

title('-f')

x=exp(t)

y=x(-t)

-2

02

0.51

1.52t f(t)

-4

-20

0.51

1.52t f(t+2)

24

0.51

1.52t f(t-2)

-2

02

0.51

1.52t

f(-t)

-2

02

00.51

1.52t

f(2t)

-2

02

-2

-1.5-1-0.50t

-f

注:

Matlab 提供了函数fliplr()实现信号的左右翻转,其调用格式为y=fliplr(x)。 如:

t=-5:0.001:5;

x=exp(t);

y=fliplr(x); figure subplot(211)

plot(t,x) title('x=exp(t)'); subplot(212) plot(t,y); title('y=x(-t) ');

3. 卷积运算

卷积是信号与系统中一个最基本、也是最重要的概念之一。在时域中,对于LTI 连续时间系统,其零状态响应等于输入信号与系统冲激响应的卷积;

MATLAB 信号处理工具箱提供了一个计算两个离散序列卷积和的函数conv 。设向量a 、b 代表待卷积的两个序列,则c = conv(a, b)就是a 与b 卷积后得到的新序列。

两个序列卷积以后,一般而言所得新序列的时间范围、序列长度都会发生变化。例如设f1(n)长度为5,-3≤n≤1;f2(n)长度为7,2≤n≤8;则卷积后得到的新序列长度为11,-1≤n≤9。但是用conv函数求出卷积后没有给出新序列所对应的时间变量。为此,要根据被卷积序列的时间变量产生一个对应新序列的时间变量。

对于连续卷积,我们用离散卷积来代替连续卷积,只要取样时间间隔足够小时,就可得到满意的效果。

,令(为整数),则

(*)

由(*)式,连续卷积积分可由离散卷积和近似代替,只要取样时间间隔足够小,就可以得到高精度卷积积分的数值计算。

例:求f1(t)与f2(t)的卷积

clear

t1=0:0.01:1;

f1=2*ones(1,length(t1));

t2=0:0.01:2;

f2=t2;

y=0.01*conv(f1,f2);

t=0:0.01:3;

figure

plot(t,y)

grid

4. 系统模型的建立

t y

(

t

)

Matalb 提供了函数tf ()来建立LTI 系统的传递函数模型,例:由一阶微分方程描述的系统为1010'()()'()()a r t a r t b e t b e t +=+,则调用函数:sys=tf(b,a)可以得到该系统的

传递函数模型,其中10[,]a a a =,10[,]b b b =。

例1:(3)

()2''()2'()3()2''()'()()r

t r t r t r t e t e t e t +++=++,求其传递函数模型

键入:b=[2 1 1];

a=[1 2 2 3]; sys=tf(b,a);

结果: Transfer function:

2 s^2 + s + 1 --------------------- s^

3 + 2 s^2 + 2 s + 3

5. 传递函数的化简

建立零极点的系统传递函数,Matlab 利用zpk(z,p,k)函数。Z,p,k 分别为零点、极点矩阵和常系数。化简零极点传递函数用tf(Fs)函数, Fs 为零极点函数表达式。 例:将 (1)(2)

()8

(3)(4)(5)

s s F s s s s s ++=+++ 用Matlab 语言表示出来,并用tf(Fs)函数化简。

键入:z=[-1 -2]; p=[0 -3 -4 -5]; k=8;

Fs=zpk(z,p,k); tf(Fs); 则运行结果为:

Zero/pole/gain:

8 (s+1) (s+2) ------------------- s (s+3) (s+4) (s+5)

Transfer function:

8 s^2 + 24 s + 16 ---------------------------- s^4 + 12 s^3 + 47 s^2 + 60 s

6. 多项式运算

多项式求根用 roots(p)函数; 由根创建多项式用poly(r)函数;

多项式相乘用conv(p,q)函数;求多项式的值可用函数polyval(n,s)。 这里p 、q 、n 为多项式系数,r 为多项式的根。

例:求多项式43)(2

3

++=s s s p 的根,再由根重新构建多项式。 p=[1 3 0 4];

r=roots(p) 运行结果:r=

-3.3553

0.1777+1.0773i 1.7777-1.0773i

键入 p=ploy(r)

运行结果: p=1.0000 3.0000 0.0000 4.0000 7. 系统结构图的串连、并联、反馈化简

Matlab 利用函数 sys=series(sys1,sys2)来实现两个子系统 sys1,sys2的串连。 Matlab 利用函数 sys=parallel(sys1,sys2)来实现两个子系统 sys1,sys2的并连。

四、实验内容与步骤

1. 运行讲义中的例子,掌握子函数的定义和调用方法。

2. 已知信号f(t)的波形如图所示:求出f(t-2)、f(3t-2)、f(0.5t+2)、f(-3t-2)、-f(t)的波形。(教

材例1-1)

t

f(t)0-21

1

3. 编程实现如下图所示的两个波形;并计算这两个信号的卷积、画出卷积后的波形。

4. 已知微分方程(3)

(2)(1)()7()16()12()()r

t r t r t r t e t +++=,用Matlab 语言求其特征根

和零极点传递函数并化简。

5. 化简)76)(125(2

+-+s s s ,并求s=3时多项式的值。

6. 已知2

578

(),()129

s G s H s s s S +=

=+++分别求两系统串连、并联时输出传递函数。 五、注意事项

1. 实验前复习相关理论知识。

2. 理解各子函数输入输出参数的意义,调用时注意传递参数的匹配。

附加练习:

1. 线性时不变 (LTI) 连续时间系统用常系数线性微分方程进行描述,系统的零状态响应就是在系统初始状态为零条件下微分方程的解。MATLAB 控制系统工具箱提供了一个lsim 函数来求解连续时间系统的零状态响应。设系统方程为:

(3)(2)(1)(3)(2)(1)32103210()()()()()()()()a r t a r t a r t a r t b e t b e t b e t b e t +++=+++

该方程左边、右边的系数向量分别为,3210[,,,]a a a a a =,3210[,,,]b b b b b =,所对应的系统模型sys 可借助MATLAB 中的tf 函数得到:sys = tf(b, a) . 这样,系统的零状态响应为:r = lsim(sys, e, t) ,其中e 是输入信号向量,t 是与e 对应的时间变量。

例1:22()3()2()()3()d d d

r t r t r t e t e t dt dt dt

++=+,()()e t u t =(教材P83,2-6(1))

通过计算得到其零状态响应为:213

()222

t

t zs r t e e --=-++,t>0 若用Matlab 函数实现,则程序为: clear a=[1 3 2]; b=[1 3]; sys=tf(b,a) t=0:0.1:5; e=ones(size(t)); r=lsim(sys,e,t);

画出理论计算结果与仿真结果曲线进行比较: figure plot(t,r,'r-o') hold on

rzs=-2*exp(-t)+0.5*exp(-2*t)+1.5; plot(t,rzs,'b-*')

legend('仿真结果','计算结果')

零状态响应

2. 连续系统的冲激响应、阶跃响应分别是输入信号为()t 和()u t 所对应的零状态响应。MATLAB 控制系统工具箱专门提供了两个函数求解连续系统的冲激响应和阶跃响应。 冲激响应:r = impulse(sys, t) ; 阶跃响应:r = step(sys, t) . 其中sys, t 的含义同上。

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平台的可视化图像处理系统设计方法

[收稿日期]20050228 [作者简介]黄书先(1962),女,1983年大学毕业,硕士,副教授,现主要从事石油勘探开发研究与科研管理工作。 基于MATLAB 平台的可视化图像处理系统 设计方法 黄书先 (长江大学科学技术处,湖北荆州434023) [摘要]以MATLAB 为工作语言和开发环境,开发了一个在M AT LAB 平台下的可视化图像处理系统, 可实现包括对测井图像在内的一般图像的精细处理,并能和用户开发的程序接口。为M AT LAB 的再开发 和可视化系统的设计作了有益的探索。 [关键词]MATLAB;图像处理;可视化GUI 界面 [中图分类号]TP 311111 [文献标识码]A [文章编号]16731409(2005)04015803 MAT LAB 的图像处理工具为自然科学各学科领域的学者、研究人员和工程师提供了一个直观的灵活的环境,用以解决复杂的图像处理问题。用MAT LAB 语言开发的图像处理算法可以在所有支持MAT LAB 的平台上共享。也可以将m 语言算法和现存的C 程序集成在一起或者将MATLAB 开发的m 语言算法和GU Is 编译为C/C++代码,供其他程序调用,或者发布为一个独立的应用程序。下面笔者提出一个基于MATLAB 平台的可视化图像处理系统设计方法,可用于包括测井图像资料在内的一般图像的精细处理。 1 系统总体设计 在MAT LAB 中有个重要的图像处理工具包[1],该工具包是由一系列支持图像处理操作的函数组成的,按功能可以分为以下几类:图像显示;图像文件输入与输出;几何操作;像素值统计;图像增强;图像识别;图像滤波;图像变换;邻域和块操作;二值图像操作;颜色映射和颜色空间转换;图像格式转换等。和其他工具包一样,用户还可以根据需要书写自己的函数,以满足特定的需要;也可以将这个工具包和信号处理工具包或小波工具包等其他工具包联合起来使用。 MAT LAB 提供了交互式的GU I 开发环境[2~4],用户只需要设置各个对象相应的属性,系统自动生成与之对应的界面,大大减少了开发的难度。本设计的MAT LAB 图像处理系统由封面、主界面和各个子功能界面组成,其框图如图1所示。程序总流程图如图2所示。 2 封面界面设计 首先用MAT LAB 编辑封面的脚本文件,生成系统的封面界面,然后再进入处理的主界面。 在设计封面时,要做好封面的总体布局,力求完美。要插入背景,首先要找到所用的函数(这在一般的书中很难找到);其次要注意设置axes 的属性。在显示背景图像时,不能用imshow ()函数,如果用此函数,背景图像只能显示在封面的一部分,不能整屏覆盖;而要用imagesc ()函数。MATLAB 提供修改文本中文字的字体,它支持华文中宋、华文彩云、华文仿宋、楷书、黑体等,功能较强。 在设计封面的过程中,最主要的技术是要解决时间的显示,如果只用MATLAB 中的clock ()函数,则显示的是静态时间,而不会显示和电脑同步的动态时间。为了解决这个问题,需做一个循环判断语句:while find (get (0,'c hildren'))==h0。成立的条件是,只要是当前窗口循环,否则停止,这样可以减少CPU 的负担。同时,要实时提取clock ()函数,可用fix (clock),使提取的时间更美观。#158#长江大学学报(自科版)2005年4月第2卷第4期/理工卷第2卷第2期 Jour nal of Yangtze University (Nat Sci Edit)Apr 12005Vol 12No 14/Sci &Eng V,Vol 12No 12

图像处理实例(含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实现

《数字图像处理》课程设计 课设题目:图像增强与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程序实例

程序实例 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程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1直方图 一.实验目的 1 ?熟悉matlab图像处理工具箱及直方图函数的使用; 2?理解和掌握直方图原理和方法; 二.实验设备 1. PC 机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(1,2,1),imshow(l) % 输出图像 title(' 原始图像')% 在原始图像中加标题subplot(1,2,2),imhist(l) % 输出原图直方图 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环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(2,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(2,2,3),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题a=histeq(l,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环境下图像灰度均衡结果及直方图分布。 均衡化后图像

MATLAB图像处理简介

MATLAB图像处理基础?MATLAB语言的特点: MATLAB图像处理基础 ?典型桌面: 2 MATLAB图像处理基础 ?一. 读取图像:将图像rose-orginal.tif读入图像数组f >> f = imread('.\rose-original.tif'); ?显示图像大小信息: >> size(f) ans = 1024 1024 或者将大小信息赋给变量 ?或者将大小信息赋给变量: >> [M, N] = size(f); ?whos显示更为详细的信息: >> whos f Name Size Bytes Class f 1024x1024 1048576 uint8 array Grand total is 1048576 elements using 1048576 bytes 3 MATLAB图像处理基础 ?二. 显示图像: >> imshow(f) ?指定显示的灰度范围 >> figure, imshow(f, [100 200]) ?情况下显示图像的整个 动态范围: >> figure, imshow(f, [ ]) 4 MATLAB图像处理基础 ?直接显示: >> imshow(h)?改善动态范围: >> imshow(h, [ ]) 利用imshow改善图像动态范围(设图像已被读入到h): 5 MATLAB图像处理基础 ?以交互方式显示像素值: >> pixval ?利用pixval显示像素之间 距离:按下鼠标左键并拖 动 6

MATLAB图像处理基础 ?三. 将图像写入磁盘: >> imwrite(f, 'rose.jpg') ?对于JPEG压缩格式,可指定质量因子: >> imwrite(f, 'rose.jpg', 'quality', 25) 7 quality = 100quality = 50quality = 5 MATLAB图像处理基础?显示图像信息: >> imfinfo rose.jpg MATLAB图像处理基础?计算压缩率:将图像信息存储在结构变量中以方 MATLAB图像处理基础?四. MATLAB中的数据类型: MATLAB图像处理基础?五. MATLAB中的图像类型: MATLAB图像处理基础 ?六. 图像类型的相互转换:下表中的函数在图像类型转换中会进行必要的数据比例变换。 12 >> f = [-0.5 0.5;0.75 1.5] f = -0.5000 0.5000 0.7500 1.5000 >> g = im2uint8(f) g = 0 128 191 255 im2unit8将输入double类型数据中小于0的 数转换为0,大于1的数转换为255,其余数 据乘以255再四舍五入到最近整数。

数字图像处理课程设计matlab

《数字图像处理》课程设计文档 目录 一、课程设计目的 (2) 二、课程设计要求 (2) 三、课程设计的容 (2) 四、课题分析 (3) 五、总体设计 (3) 六、具体设计 (4) 6.1、文件 (4) 6.1.1、打开 (4) 6.1.2、保存 (4) 6.1.3、打印 (4) 6.1.4、退出 (4) 6.2、直方图统计 (4) 6.2.1、R直方图 (4) 6.2.2、G直方图 (4) 6.2.3、B直方图 (4) 6.3、图像增强处里 (5) 6.3.1、直方图均衡化 (5) 6.3.2、对比度展宽 (6) 6.3.3、动态围调整 (6) 6.3.4、空间域平滑算法 (6) 6.3.4.1、均值滤波 (7) 6.3.4.2、中值滤波 (7) 6.3.4.3、边界保持滤波 (8) 6.4、图像分割 (8) 6.4.1、均匀性度量法 (8) 6.4.2、类间最大距离法 (9) 6.4.3、局部阈值法 (9) 6.5、颜色空间转化 (9) 6..5.1、RGB转HSV (10) 6.5.2、RGB转HIS (10) 6.6、其他图像处理功能 (10) 6.6.1、锐化 (10) 6.6.2、傅里叶………………………………………………………….10\\

七、程序调试及结果分析 (11) 八、心得体会 (11) 九、参考文献 (11) 十、附录 (12) 基于MATLAB的图像处理的课程设计 一、课程设计目的 1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。 2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。 二、课程设计要求 1、要求独立完成设计项目,开发工具为MATLAB,也可为C、C++、java等, 具体自选。各组长有责任督促组员完成任务并提交报告; 2、时间为4月28日~6月28日为其两个月的业余时间。 三、课程设计的容 学习MATLAB GUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的Photoshop 。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。

第4章 MATLAB图像处理习题习题

MATLAB图像处理相关习题实例1:三角函数曲线(1) function shili01 h0=figure('toolbar','none','position',[198 56 350 300],'name','实例01'); h1=axes('parent',h0,'visible','off'); x=-pi:0.05:pi; y=sin(x); plot(x,y); xlabel('自变量X'); ylabel('函数值Y'); title('SIN( )函数曲线'); grid on 实例2:图形的叠加 function shili02 h0=figure('toolbar','none',... 'position',[200 150 450 350],... 'name','实例02'); x=-pi:0.05:pi; y1=sin(x); y2=cos(x); plot(x,y1,... '-*r',... x,y2,... '--og'); grid on xlabel('自变量X'); ylabel('函数值Y'); title('三角函数'); 实例3:双y轴图形的绘制 function shili03 h0=figure('toolbar','none',... 'position',[200 150 450 250],... 'name','实例03'); x=0:900;a=1000;b=0.005; y1=2*x; y2=cos(b*x); [haxes,hline1,hline2]=plotyy(x,y1,x,y2,'semilogy','plot'); axes(haxes(1)) ylabel('semilog plot'); axes(haxes(2)) ylabel('linear plot'); 实例4:单个轴窗口显示多个图形 function shili04

MATLAB课程设计_图像处理完整版

MATLAB课程设计 设计题目:应用图像处理 班级: 学号: 姓名: 指导老师: 设计时间:2013年4月8号-4月14号

摘要 21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。图像处理,是用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。所谓数字图像处理[7]就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。实质上是一段能够被计算机还原显示和输出为一幅图像的数字码。 关键词:DCT变换;图像压缩;真色彩增强;平滑;锐化;直方图均衡; 灰度变换;滤波;M文件的使用 目录 摘要………………………………………………………………I 1 概述……………………………………………………………II 2 课程设计任务及要求...............................III 2.1.1设计任务 2.1.2设计要求 3 系统设计原理 (Ⅳ) 3.1 DCT图像压缩原理 3.2 真彩色增强 3.2.1平滑 3.2.2锐化 3.3 灰度变换(直方图均衡化) 3.4 图像滤波

3.4.1中值滤波器 3.4.2维纳滤波器 4 程序代码及实验结果与分析 (Ⅵ) 4.1 DCT图像压缩 4.1.1程序代码 4.1.2实验结果 4.1.3结果分析 4.2 真彩色增强 4.2.1平滑程序代码 4.2.2实验结果 4.2.3结果分析 4.2.4锐化程序代码 4.2.5实验结果 4.2.6结果分析 4.3 灰度变换(直方图均衡化) 4.3.1程序代码 4.3.2实验结果 4.3.3结果分析 4.4 图像滤波 4.4.1程序代码 4.4.2实验结果 4.4.3结果分析 5 收获体会 (Ⅶ) 6 参考文献 (Ⅷ) 概述

MATLAB图像处理的几个应用实例_王秋雨

福建电脑2011年第11期 MATLAB图像处理的几个应用实例 王秋雨 (河南大学计算机与信息工程学院河南开封475004) 【摘要】:MATLAB处理矩阵之类的问题具有明显优势,而数字图像以矩阵形式存储于计算机中,因此MATLAB在图像处理中得到广泛应用。本文通过实例阐述MATLAB在图像处理中的应用,以图像增强、图像压缩、图像去噪为例,给出了实现图像处理的程序代码和图像处理前后的可视化效果对比。 【关键词】:图像增强;图像压缩;图像去噪 1、引言 图像是人类赖以获取信息的最重要来源之一。图像技术与计算机技术不断融合,出现了一系列图像处理软件,其中最典型的是MATLAB,该软件为图像技术的发展提供了强大支持[1,2]。MATLAB(Matrix Laborato-ry)是矩阵实验室的简称,最基本的数据结构是数组,数字图像用数组(矩阵)存储,矩阵中的一个元素对应于图像的一个像素,这意味着MATLAB矩阵运算功能可以应用于图像处理[3]。MATLAB已成为国际公认的最优秀的科技应用软件之一,具有编程简单、数据可视化功能强、可操作性强等特点,而且配有功能强大、专业函数丰富的图像处理工具箱,是图像处理的一个重要软件工具。 数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术[1,2]。一般来讲,图像处理主要包括三个方面: ⑴提高图像的视感质量,如改变图像亮度和彩色,增强或抑制某些成分,对图像进行几何变换等,以改善图像的质量。 ⑵提取图像中所包含的某些特征或特殊信息,所提取出来的特征或信息往往为计算机分析图像提供便利。提取的特征包括很多方面,如频域特征、灰度特征、颜色特征、边界特征、区域特征、文理特征、形状特征、拓扑特征和关系结构等。 ⑶图像数据的变换、编码和压缩,以便于图像的存储和传输。 数字图像处理的过程其实就是对图像的一种运算过程,从技术上来说,数字图像处理分为空间域和频率域处理。本文通过几个应用实例,验证了MATLAB图像处理所得到的效果。 2、图像增强的应用 如果不考虑图像降质,仅突出图像中所感兴趣的部分,可以强化图像的某些分量。例如,强化图像高频分量,可使图像中物体轮廓清晰、细节明显;强化低频分量可以减少图像中噪声的影响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立降质模型,再采用某种滤波方法,恢复或重建原来的图像[4]。 小波分析方法在图像处理方面具有很多优点。经二维小波分解后,图像的轮廓主要体现在低频部分,而细节部分则体现在高频部分。因此,通过对低频分解系数进行增强处理,对高频分解系数进行衰减处理,即可以达到图像增强的作用。MATLAB用于图像增强的一个实例如下: function exam1() I=imread('…\lena.bmp'); subplot(1,2,1);imshow(I) colormap(gray);title('原始图像') [a,b]=wavedec2(I,2,'sym4');len=length(a); for i=1:len if(a(i)>300) a(i)=2*a(i); else a(i)=0.5*a(i); end end nx=waverec2(a,b,'sym4');subplot(1,2,2); image(nx); title('增强图像') 图1是一幅图像增强前后的可视化效果对比,经过MATLAB的图像增强处理,图像轮廓更加清晰。在某些情况下,采用MATLAB对图像进行增加,可以得到实际应用效果。 基金项目:国家自然科学基金(11001075) . 6

用matlab实现数字图像处理几个简单例子

实验报告 实验一图像的傅里叶变换(旋转性质) 实验二图像的代数运算 实验三filter2实现均值滤波 实验四图像的缩放 朱锦璐 04085122

实验一图像的傅里叶变换(旋转性质) 一、实验内容 对图(1.1)的图像做旋转,观察原图的傅里叶频谱和旋转后的傅里叶频谱的对应关系。 图(1.1) 二、实验原理 首先借助极坐标变换x=rcosθ,y=rsinθ,u=wcos?,v=wsin?,,将f(x,y)和F(u,v)转换为f(r,θ)和F(w,?). f(x,y) <=> F(u,v) f(rcosθ,rsinθ)<=> F(wcos?,wsin?) 经过变换得 f( r,θ+θ。)<=>F(w,?+θ。) 上式表明,对f(x,y)旋转一个角度θ。对应于将其傅里叶变换F(u,v)也旋转相同的角度θ。F(u,v)到f(x,y)也是一样。 三、实验方法及程序 选取一幅图像,进行离散傅里叶变换,在对其进行一定角度的旋转,进行离散傅里叶变换。 >> I=zeros(256,256); %构造原始图像 I(88:168,120:136)=1; %图像范围256*256,前一值是纵向比,后一值是横向比figure(1); imshow(I); %求原始图像的傅里叶频谱 J=fft2(I); F=abs(J); J1=fftshift(F);figure(2) imshow(J1,[5 50]) J=imrotate(I,45,'bilinear','crop'); %将图像逆时针旋转45°

figure(3); imshow(J) %求旋转后的图像的傅里叶频谱 J1=fft2(J); F=abs(J1); J2=fftshift(F);figure(4) imshow(J2,[5 50]) 四、实验结果与分析 实验结果如下图所示 (1.2)原图像(1.3)傅里叶频谱 (1.4)旋转45°后的图像(1.5)旋转后的傅里叶频谱以下为放大的图

基于matlab数字图像处理GUI设计

目录 摘要 (2) 一.数字图像概述 (3) 1.1 数字图像处理的意义 (4) 1.2 数字图像处理技术的发展 (5) 二.matlab图像处理简介 (6) 2.1 matlab简介 (6) 2.2 matlab图像界面GUI简介 (7) 三.数字图像处理软件的设计 (7) 3.1软件的总体设计 (7) 3.1.1整体界面设计 (8) 3.1.2菜单栏设计 (8) 3.2文件的读入与显示 (8) 3.3图像的保存 (9) 3.4图像的灰度处理 (9) 3.5图像二值化 (10) 3.6图像R直方图 (11) 3.7图像G直方图 (11) 3.8图像B直方图 (12) 3.9直方图均衡 (12) 3.10图像的腐蚀 (13) 四.exe文件的生成 (14) 参考文献 (15) 摘要

数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。数字图像处理技术已经在各个领域上都有了比较广泛的应用。图像处理的信息量很大,对处理速度的要求也比较高。MATLAB强大的运算和图形展示功能,使图像处理变得更加的简单和直观。本文介绍了MATLAB 语言的特点,基于MATLAB的数字图像处理环境,介绍了如何利用MATLAB及其图像处理工具箱进行数字图像处理,并通过一些例子来说明利用MATLAB图像处理工具箱进行图像处理的方法。主要论述了利用MATLAB的GUI实现图像二值化分析等图像处理。 关键词:MATLAB,数字图像处理,GUI,二值图像 Abstract Digital image processing is an emerging technology, with the development of computer hardware, real-time digital image processing has become possible due to

MATLAB图像处理(实例+代码)

MATLAB图像处理(1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %测量交角(线性拟合的思想) %Step 1: Load image %Step 2: Extract the region of interest %Step 3: Threshold the image %Step 4: Find initial point on each boundary %Step 5: Trace the boundaries %Step 6: Fit lines to the boundaries %Step 7: Find the angle of intersection %Step 8: Find the point of intersection %Step 9: Plot the results. clc;clear;close all; %Step 1: Load image RGB = imread('gantrycrane.png'); imshow(RGB); %Step 2: Extract the region of interest % pixel information displayed by imview start_row = 34; start_col = 208; cropRGB = RGB(start_row:163, start_col:400, :); figure, imshow(cropRGB) % Store (X,Y) offsets for later use; subtract 1 so that each offset will % correspond to the last pixel before the region of interest offsetX = start_col-1; offsetY = start_row-1; %Step 3: Threshold the image I = rgb2gray(cropRGB);

基于MATLAB的图片中文字的提取及识别

基于MATLAB的图片中文字的提取及识别 邹浩,余龙,邹勇博,刘宇童,和振乔,李少梅 (西安电子科技大学电子工程学院,西安,710126) 摘要 随着现代社会的发展,信息的形式和数量正在迅猛增长。其中很大一部分是图像,图像可以把事物生动地呈现在我们面前,让我们更直观地接受信息。同时,计算机已经作为一种人们普遍使用的工具为人们的生产生活服务。从图像中提取文字属于信息智能化处理的前沿课题,是当前人工智能与模式识别领域中的研究热点。由于文字具有高级语义特征,对图片内容的理解、索引、检索具有重要作用,因此,研究图片文字提取具有重要的实际意义。又由于静态图像文字提取是动态图像文字提取的基础,故着重介绍了静态图像文字提取技术。 关键词:MATLAB 图像处理文字提取文字识别 Text Extraction and Recognition in Images Based on MATLAB ZOU Hao, YU long, ZOU Yongbo, LIU Yutong, HE Zhenqiao, LI Shaomei (Xidian University Electronic Engineering College,Xi'an,710126) Abstract With the development of society,the form and quantity of imformation are increasing quickly.A large part of them are images,which can make things vividly presented in front of us,let us more intuitive to accept information.At the same time, the computer has been as a widely used tool for people's production and living services.Extracting text from image belongs to the frontier of intelligent information processing, and it is the current hot research topic in the field of artificial intelligence and pattern recognition.As the text with high-level semantic feature and plays an important role on understanding,indexing and retrieval image content.Therefore,the study on extracting texts from images have important actual meanings. And because extracting texts from still images is the basis for extracting texts from dynamic images, the article emphatically introduces the technology of extracting texts from still images. Key Words: MATLAB image processing word extraction word recognition

相关文档
最新文档