




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通辽市中医院护理操作示范考核
- 秦皇岛市中医院财务信息系统HRP凭证处理与报表取数考核
- 长治市中医院教学改革研究考核
- 忻州市中医院躁动患者PICC管理考核
- 中国溴乙酸甲酯项目创业计划书
- 衡水市中医院介入放射科副主任医师资格评审
- 唐山市中医院急诊手术准备考核
- 保定市中医院护理科研评估总结考核
- 北京市人民医院老年护理安全管理制度考核
- 中国没食子酸甲酯项目创业计划书
- 2025年共青团入团积极分子结业考试题库及答案
- 2025年绩效管理自考试题和答案
- 高三试卷:山东省名校考试联盟2024-2025学年高三上学期期中考试化学+答案
- 2024年全国统计师之初级统计基础理论及相关知识考试快速提分卷(附答案)
- 土地法律知识培训内容课件
- 2025年湖北省荆门市辅警考试题库(附答案)
- 2025西南证券股份有限公司校园招聘300人笔试历年参考题库附带答案详解
- 气象科研课题申报书
- 人工智能+开放共享城市安全监控数据共享分析报告
- 2023年中级统计师《统计工作实务》试题真题及答案
- 业务招待费培训课件
评论
0/150
提交评论