数字图像处理matlab编程_第1页
数字图像处理matlab编程_第2页
数字图像处理matlab编程_第3页
数字图像处理matlab编程_第4页
数字图像处理matlab编程_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab&数字图像处理Matlab编程

MATLAB是一种流行的工程软件,英文全称(Matrix

Laboratory)即矩阵实验室。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.

MATLAB概述Matlab的计算能力Matlab基础Matlab基础Matlab基础-Matlab语句Matlab&数字图像处理Matlab基础基本的数据结构

-向量一维的矩阵行表示:元素用空格分隔列表示:元素用分号分隔

-矩阵两维的数组行内元素用空格分隔列间元素用分号分隔元素的访问

x(2)–向量x的第二个元素A(3,3)–矩阵A

第三个对角元素创建向量

-命令行输入模式

基本格式

X=(startValue:INC:endValue)注解:INC为递增步长,可正可负

>>x=[13pi3+5i]

x=1.00003.00003.14163.0000+5.0000i

Matlab基础Matlab基础创建列向量-

使用分号作为元素与元素之间的间隔-使用转置运算符“'”>>a=[1;2;3;4;5;6]或>>a=(1:6)‘a=123456向量元素的访问

访问向量的元素只要使用相应元素的索引即可>>B=[3274961805];>>B(3)ans=7>>B([137])ans=371>>B([1:3:5])ans=34Matlab基础向量元素的访问关键字end表示向量中最后一个元素的序号访问向量元素时,序号的数值必须介于1~end之间>>B=[3274961805];>>B([1,3,7])ans=371>>B([1:end])ans=3274961805Matlab基础>>B=[3274961805];

>>B(3)>>B([end-3:end])ans=ans=71805>>B([137]) >>B([1:5,5:-1:1])ans= ans=371?>>B([1:3:5]) >>B([1:5;5:-1:1])ans=ans=34 ?Matlab基础Matlab基础>>B=[3274961805];

>>B(3)>>B([end-3:end])ans=ans=71805>>B([137]) >>B([1:5,5:-1:1])ans= ans=371 3274994723>>B([1:3:5]) >>B([1:5;5:-1:1])ans=ans=34 ?Matlab基础>>B=[3274961805];

>>B(3)>>B([end-3:end])ans=ans=71805>>B([137]) >>B([1:5,5:-1:1])ans= ans=371 3274994723>>B([1:3:5]) >>B([1:5;5:-1:1])ans=ans=34 32749 94723创建矩阵

-直接输入法

整个矩阵的元素必须用[]括住同一行的矩阵元素之间必须用逗号或空格分隔矩阵的行与行之间用分号分隔,也可以在需要分行的地方用回车键间隔

>>A=[1,2,3;4,5,6;7,8,9]

A= 123 456 789Matlab基础创建矩阵

-矩阵生成函数Matlab基础函数说明zeros产生元素全为0的矩阵ones产生元素全为1的矩阵eye产生单位矩阵rand产生均匀分布的随机数矩阵,数值范围(0,1)randn产生均值为0,方差为1的正态分布随机数矩阵diag获取矩阵的对角线元素,也可生成对角矩阵tril产生下三角矩阵triu产生上三角矩阵创建矩阵

-矩阵生成函数Matlab基础>>A=zeros(3,3)A=000000000>>A=eye(3,3)A=100010001>>A=rand(3,3)A=0.9501

0.48600.45650.2311

0.8913

0.01850.6068

0.7621

0.8214>>A=ones(3,3)A=111111111Matlab基础矩阵元素的访问-访问矩阵的元素需要使用矩阵元素的索引使用矩阵元素的行列全下标形式A(m,n)使用矩阵元素的单下标形式A(i)矩阵元素的单下标是矩阵元素在内存中存储的序列号,一般地,同一个矩阵的元素在连续的内存单元中(元素的排列以列元素优先)矩阵元素的访问(续)4

110

5196

132

178

22

69

104

147

187

35

77

111

155

190

43

84

125

168

20A(1:4,5)A(:,5)A(:,end)A(17:20)'A(2:4,2:3)A([234],[23])A(1,2)A(5)Matlab基础-矩阵整形操作维数查询

>>size(A);

功能:返回行列值举例:

>>A=[1:4;5:8;9:12];>>[m,n]=size(A)m=3n=4Matlab编程

程序结构

-顺序结构

逐条顺序执行程序指令或模块

-选择结构

依据条件选择执行程序指令或模块

if语句

%

条件选择

switch语句%多值切换Matlab编程(续)

程序控制语句

-选择结构

依据条件选择执行程序指令或模块

if语句

%

条件选择

关键词:if,else,和elseif

基本格式:

iflogical_expressionblockofstatementsendMatlab编程(续)

if语句一般形式

iflogical_expressionblockofstatements

elseiflogical_expressionblockofstatements……

else

blockofstatements

endMatlab编程(续)

if语句实例(续)

ifx>0

disp(’xispositive’);

elseifx<0

disp(’xisnegative’);

else

disp(’xisexactlyzero’);

endMatlab编程(续)

switch

语句

一般形式

switchexpression

casevalue1,

blockofstatementscasevalue2,blockofstatements...otherwise,

blockofstatementsendMatlab编程(续)

switch

语句实例

color=’...’;%colorisastringswitchcolorcase’red’disp(’ColorisRed’);case’blue’disp(’ColorisBlue’);case’green’disp(’ColorisGreen’);otherwisedisp(’ColorisnotRGB’);endMatlab编程(续)-循环结构

根据条件重复执行程序指令或模块

for语句

%

计数循环

一般形式

forindex=expressionblockofstatementsendMatlab编程(续)-循环结构

根据条件重复执行程序指令或模块

for语句

%

计数循环

while语句

%条件循环

Matlab编程(续)for

语句实例

x=1:5;

%createarowvectorsumx=0;

%initializethesumfork=1:length(x)sumx=sumx+x(k);endforx=0:pi/15:pifprintf(’%8.2f%8.5f\n’,x,sin(x));endMatlab编程(续)

while

语句

一般形式

whileexpressionblockofstatementsendMatlab编程(续)

while

语句实例:循环中断控制

x=rand(1,10);k=1;whilek<=10ifx(k)>0.8

breakendk=k+1;endMatlab绘图二维图形

-plot二维曲线绘图函数基本形式

plot(x,y,’s’)

x,y

是相同类型的等长向量

s

可选用于控制图形属性原理:点线

输入:点坐标向量输出:插值曲线Matlab绘图(续)采样点对绘图的影响

-曲线实例:y=sin(x),0<x<2*pi

>>x=[0:0.5:2*pi];

>>y=sin(x);

>>plot(x,y,‘.')

提供曲线的插值点稀疏Matlab绘图(续)

采样点对绘图的影响(续)-曲线实例:y=sin(x),0<x<2*pi

>>x=[0:0.1:2*pi];

>>y=sin(x);

>>plot(x,y)

Matlab绘图(续)函数Plot

常用的使用格式

-plot(x,y):单条曲线

-plot(x1,y1,x2,y2,…):多条曲线

-plot(x,y,’s’):带属性修饰的曲线

-‘s’:属性开关描述自符串变量Matlab绘图(续)

图形颜色、标记和线形参数表

线型基本点标记

颜色-

实线:

虚线-.

点划线--

间断线.

点o

小圆圈x

叉子符+

加号*星号s

方格d

菱形y

黄色m

棕色c

青色r

红色g

绿色b

蓝色w

白色k

黑色Matlab绘图(续)图形的修饰与控制函数

title——给图形加标题

xlable——给x轴加标注

ylable——给y轴加标注

text——在图形指定的任意位置加标注

axis——控制坐标轴刻度Matlab绘图(续)图形分割函数subplot

功能:实现多个图形窗口

cleart=0:pi/10:2*pi;y1=sin(t);y2=cos(t);y3=cos(t+pi/2);y4=cos(t+pi);

%将图形窗口分割成两行两列,图形画在第1行第1列的窗口subplot(2,2,1); plot(t,y1);%图形画在第1行第2列subplot(2,2,2); plot(t,y2);Matlab绘图(续)图形分割函数subplot(续)

%图形画在第2行第1列

subplot(2,2,3);

plot(t,y3);%图形画在第2行第2列

subplot(2,2,2);

plot(t,y4);Matlab图像编程图像的读取

imread语句

example:

f=imread(‘bed.jpg’);

图像的大小

size语句

example:

f=imread(‘bed.jpg’); size(f)

Matlab图像编程图像的显示

imshow语句

example:

f=imread(‘bed.jpg’); imshow(f); g=imread(‘fly.jpg’); imshow(f),figure,imshow(g);

Matlab图像编程图像的保存

imwrite语句

example:

imwrite(f,‘filename’);

Matlab图像编程图像数据类转换函数

im2uint8语句 im2double语句

Matlab图像编程灰度变换函数

imadjust语句imadjust(f,[low_in,high_in],[low_out,high_out],gamma);

Matlab图像编程直方图处理函数

imhist语句h=imhist(f);

histeq语句h=histeq(f);

Matlab灰度变换实例0.3r r<0.350.105+2.6333(r–0.35)

0.35≤r≤0.651+0.3(r–1) r>0.65S=图像的空间滤波噪声函数

g=

imnoise(f,type,parameters)Example: (1)高斯噪声

g=imnoise(f,’gaussian’,0,0.01);(2)椒盐噪声

g=imnoise(f,’salt&pepper’,0.5);

图像的空间滤波线性空间滤波函数

g=

imfilter(f,w,mode,bounda

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论