Matlab介绍 陈雷 2008-04-05.

Slides:



Advertisements
Similar presentations
L/O/G/O 吃好每天三顿饭 主讲:吴建芬 学院:医学院. 三餐饭里的营养素 1. 热量 = 生命,不要命的人才不吃饭 2. 三大产热营养素 3. 矿物质,知多少 4. 维生素与维和部队 5. 不喝水一定会生病 6. 膳食纤维为什么被炒得这么热.
Advertisements

第 5 章 中國的都市.
藥物濫用 華德學校上午校 黃秀雯.
日月光·伯爵居项目介绍.
香港故事之 三年零八個月的艱苦歲月 組員: 梁珮瑩 吳遠莉 李琪 李青儀 方松皓.
谷雨节气模板.
对本书、视频等任何MATLAB问题,作者做到有问必答!
课程内容及考试介绍 讲解内容: 考试(开卷考试) 课堂讲授:第一章~第七章(不包括第六章);
职业生涯规划.
姓名:劉芷瑄 班級:J201 座號:39號 ISBN:957-33-1963-2
我的故事 ————往事回首.
引導者的角色 組別:第5組 4A1I0003 劉芷媛 4A1I0004 陳安琪 4A1I0014 陳佳瑩 4A1I0046 葉倢茹
郭子光教授从肺肾虚损辨治早中期慢性肾功能不全的经验
海南软件职业技术学院 网站美工之 调 色 主讲人:潘萍 2015年11月.
女生成功靠什么? 09英本四班 傅柏双.
国际投资环境罗氏评级法 美国.
社会保障学 第5章 失业保险.
战争结束了 年11月,听到停战的消息,巴黎街头人们欣喜若狂。法国总理克里孟梭说:“吻我的姑娘有500多个了。”
主 题 班 会 团 结   协 作    力 量.
理想.
财会专业介绍 LOGO 澧县职业中专学校 2015年6月.
組員:4A140013張瓊云 4A1I0039石宜芬 4A1I0909許峻綱 指導老師:王立杰老師
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
营业税改征增值税试点 政策培训 货物和劳务税科 2012年9月27日.
古文閱讀 – 像虎伏獸 明 劉基 組員: 5號江依倫 6號江若薇 12號張珉芫 32號蔡燕如.
固定与搬运技术 义乌市中心医院 陈红卫.
中鸣虚拟搜救比赛项目 (一人) 现场主题创作(40%)(一人) 3D虚拟搜救(60%)(一人).
案例分析 胎记美容记 第6小组
性別透視鏡 鳳鳴電台 高宜君老師.
人生五色臉 年輕十歲必學的小動作,九個保持身體健康的的小訣竅 人們常在不經意間做些小動作,並認為這是身體的本能反應,
指導老師:陳韻如 班級:幼保二甲 姓名:林靜宜 學號:4A0I0033
Matlab及其应用 鲍文 哈尔滨工业大学 先进动力控制与可靠性研究所
MATLAB介紹.
數位影像處理 2 影像與MATLAB.
线性代数机算与应用 李仁先 2018/11/24.
師大資工所助教 羅安鈞 Matlab with DIP 教學 師大資工所助教 羅安鈞
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
走进编程 程序的顺序结构(二).
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
何清波 博士 副教授 中国科学技术大学 精密机械与精密仪器系 安徽合肥 电话:
第二章 Java语言基础.
范洪源 臺灣師範大學數學系 分支宣告與程式設計 范洪源 臺灣師範大學數學系.
嘉实多渠道积分兑换 专用平台 欢迎您 活动网站操作介绍 兑换时间( )
用相频曲线测阻尼系数的探索 指导教师 陈乾 吉新程.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
MATLAB介绍 Matlab基本命令介绍 Matlab矩阵运算 Matlab控制流 Matlab图像处理工具箱 实习题讲解.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
图像DCT变换 《信息隐藏实验教程》教学幻灯片 五.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
學這些有什麼好處呢? 為了把資料作更客觀之總結描述或比較多組資料。總而言之,就是要找出一個數能代表整組數據。
姚金宇 MIT SCHEME 使用说明 姚金宇
北投溫泉博物館 建築特色 ★小組成員:高103林孟璇、林念儀、施妤柔★.
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
图像的基本知识 《信息隐藏实验教程》教学幻灯片 二(2).
第4章 Excel电子表格制作软件 4.4 函数(一).
2019/5/2 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 08:20:28.
2019/5/4 实验三 离散傅立叶变换的性质及应用 06:11:49.
第九节 赋值运算符和赋值表达式.
数字图像处理实验.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
西南科技大学网络教育系列课程 数学软件 数学软件 第3讲 MATLAB数组与运算 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系.
2.2矩阵的代数运算.
线 性 代 数 厦门大学线性代数教学组 2019年5月12日4时19分 / 45.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
第7章 MATLAB工程计算.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
基础信贷法律知识 讲解人:岳杨.
臺中市龍山國小 校園常見瓢蟲辨識   瓢蟲屬於鞘翅目瓢蟲科。目前世界上約有5000多種瓢蟲,台灣地區約有80種以上,其中能捕食有害生物的瓢蟲約七十種之多。瓢蟲因為捕食有害生物為主食,所以又稱為『活農藥』。
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
Presentation transcript:

Matlab介绍 陈雷 2008-04-05

简介 Matlab基础 Matlab图像操作基础 Matlab图像变换 www.software.fudan.edu.cn

+, -, *, ^, /(右除), \(左除) Matlab基础 常用运算符 一维数组创建 一维数组的访问和赋值 直接创建 x = [1,2,3,4,5,6,7] X = 初值:终值,x = 10:20 X = 初值:增量:终值, x = 0:0.1:1 X = linspace(初值,终值,n), x = linspace(0,pi,11) X = logspace(初值,终值,n), x = logspace(0,1,11) 一维数组的访问和赋值 用括号来表示下标:x(n)表示访问x的第n个下标 X([1 2 3]) 或者 x([1,2,3]) X(1:3) X(3:end) 修改 X(3) = 0, x([1 4]) = [1 1] www.software.fudan.edu.cn

Matlab基础 二维数组 A = [1,2,3;3,4,5] A(2,1) : 访问A的第二行,第一列 特殊数组 全1数组 全0数组 ones(n): 创建一个nXn的1数组 ones(r,c): 创建一个rXc的1数组 全0数组 zeros(n) zeros(r,c) 单位矩阵 eye(4,4) www.software.fudan.edu.cn

Matlab基础 数组运算(数组运算是元素与元素之间的运算,与矩阵运算不同) 矩阵运算 +  加 -  减 .*  乘积 +  加 -  减 .*  乘积 ./  左除 .^  乘幂 矩阵运算 *  乘积 /  左除 ^  乘幂 ‘  转置 www.software.fudan.edu.cn

Matlab 6 语言结构与编程 Matlab程序文件 .m文件 命令文件,一组相关命令编辑在同一个ASCII码命令文件中。 运行时,只需要输入文件名字(没有.m后缀),Matlab就会自动按顺序执行文件中的命令 第一句可执行语句是以function引导的定义语句 不需要用end 作为M文件的结束标志 www.software.fudan.edu.cn

Matlab 6 语言结构与编程 %logotu.m load logo surf(L,R),colormap(M) n=size(L,1); axis off axis([1 n 1 n -.2 .35]) view(-37.5,60) --保存为logotu.m >>logotu www.software.fudan.edu.cn

Matlab 6 语言结构与编程 %fibfun.m function f=fibfun(n) if n>2 f=fibfun(n-1)+fibfun(n-2); else f=1; end >>fibfun(3) Ans = 2 www.software.fudan.edu.cn

Matlab 6 语言结构与编程 数据类型 double char sparse unint8 cell struct www.software.fudan.edu.cn

Matlab 6 语言结构与编程 程序结构 顺序结构 循环结构 for.end循环 for x = array {command} end >>for i = 1:10; y(i) = I; end; >>y y = 1 2 3 4 5 6 7 8 9 10 www.software.fudan.edu.cn

Matlab 6 语言结构与编程 while.end循环 while expression {command} end >> a(1) = 1; a(2) = 1; i = 2; >> while a(i) <= 10000 a(i + 1) = a(i - 1) + a(i); i = i + 1; end; >> i, a(i), i = 21 ans = 10946 www.software.fudan.edu.cn

Matlab 6 语言结构与编程 选择结构 if expression {command} end function f = pdbsline(x) if x < 0 f = 0; elseif x < 1 f = x; elseif x < 2 f = 2 - x; else f = 0 www.software.fudan.edu.cn

Matlab 6 语言结构与编程 分支结构 switch switch_expr case case_expr statement, …, statement case {case_expr1, case_expr2, case_expr3,…}, … otherwise, statement,…,statement end www.software.fudan.edu.cn

Matlab 6 语言结构与编程 function f = casefun(method) switch lower(method) case {'linear','bilinear'}, disp('method is linear') case 'cubic', disp('method is cubic') case 'nearest', disp('method is nearest') otherwise, disp('Unknwn method.') end >> casefun('linear') method is linear >> casefun('cubic') method is cubic >> casefun('cub') Unknwn method. www.software.fudan.edu.cn

Matlab图像操作基础 Matlab图像类型 真彩色图像 索引图像 灰度图像 二值图像 又称RGB图像 一个尺寸为m X n 的彩色图像,在matlab中存储为m X n X 3的多维数组 索引图像 灰度图像 二值图像 www.software.fudan.edu.cn

Matlab图像操作基础 转换图像类型 im2bw函数,通过设置亮度阈值将真彩色图转换成二值图 BW = im2bw(RGB, level), level为归一化阈值 load trees BW = im2bw(X, map, 0.4) imshow(X, map) figure, imshow(BW) www.software.fudan.edu.cn

Matlab图像操作基础 mat2gray函数,用于将一个数据矩阵转换成一幅灰度图 I = mat2gray(A) I = imread('rice.tif') %产生sobel算子,并且用sobel算子对图像I进行滤波 J = filter2(fspecial('sobel'),I); %将数据矩阵转换成灰度图像 K = mat2gray(J); imshow(I) figure,imshow(K) www.software.fudan.edu.cn

Matlab图像操作基础 rgb2gray函数 用于将一幅真彩图像转换成灰度图像 I = rgb2gray(RGB) rgb2ind函数 用于将真彩图转换成索引图像 I = rgb2ind(X, map) www.software.fudan.edu.cn

Matlab图像操作基础 读写图像文件 imread函数 imwrite函数 Imfinfo函数 用于读取各种图像文件 A = imread(filename, format) imwrite函数 用于输出图像 imwrite(A, filename,format) Imfinfo函数 用于读取图像文件的有关信息 info = imfinfo(filename,format) www.software.fudan.edu.cn

Matlab图像操作基础 图像文件的显示 Image函数 最原始的图像显示函数 Image(X); colormap(map); load clown image(X) colormap(map) axis equal axis('cff') www.software.fudan.edu.cn

Matlab图像操作基础 imshow函数 最常用的显示各种图像的函数 imshow(I, [low, high]) – 用于显示灰度图像,[low, hight]为图像数据的值域,如果不清楚值域用[] Imshow(RGB) – 用于显示真彩图像 I = imread('rice.tif') %用模板[1 2;-1 -2]对图像滤波 J = filter2([1 2;-1,-2],I) imshow(I) %由于滤波后图像灰度范围与绿波前不同,所以用[]来作为参数 figure, Imshow(J,[]) www.software.fudan.edu.cn

Matlab图像操作基础 subimage函数 用于在一个图像窗口内使用多个调色板,使得各种图像能在同一窗口中显示 subimage(X,map), subimage(RGB)… load trees X2 = X map2 = map load clown subplot(1,2,1),subimage(X, map); subplot(1,2,2),subimage(X2,map2) www.software.fudan.edu.cn

Matlab图像操作基础 图像块操作 图像块操作是将图像的数据矩阵划分为同样大小的矩行区域操作,他是图像分析和图像压缩的基础 bestblk函数用于选择图像的尺寸 Size = bestblk( [m n], k) 返回对尺寸为mXn的图像块的划分size,k为图像块划分长度和宽度的最大值 [mb, nb] = bestblk([m n], k) Mb, nb分别为图象块划分的行数和列数 www.software.fudan.edu.cn

Matlab图像操作基础 blkproc函数 通用的图象块操作函数 B = blkproc(A, [m n], function), B = blkproc(A, [m n], function, P1, P2,…) P1,P2为function中除x以外的其他参数 %计算图像快局部标准差 I = imread('tire_orig.bmp'); f = inline('uint8(round(std2(x) * ones(size(x))))'); I2 = blkproc(I, [8 8],f); imshow(I) figure, imshow(I2, []) www.software.fudan.edu.cn

Matlab图像变换 傅立叶变换 ifft2(I), ifft2(I, m, n) ifftn(I), ifftn(I,size) Matlab中提供fft, fft2,fftn三个函数,分别用于计算一维,二维和n维离散傅立叶变换 fft2(I), fft2(I, m, n) 通过对图象I剪切或者补全,按用户指定的点数计算fft, 返回矩阵的大小为mXn fftn(I), fftn(I, size) fftshift(I) 将变换后的图象频谱从举证的圆点移到矩阵的中心 ifft2(I), ifft2(I, m, n) ifftn(I), ifftn(I,size) www.software.fudan.edu.cn

Matlab图像变换 快速傅立叶变换例子 %计算图像的二维傅立叶变换 %并显示起幅值的结果 load imdemos saturn2 imshow(saturn2) B = fftshift(fft2(saturn2)) %很多MATLAB图像显示函数无法显示复数图像 %为了观察图像傅立叶变换后的结果 %应该对变换后的结果求模,调用abs() figure, imshow(log(abs(B)), []); colormap(jet(64)); colorbar www.software.fudan.edu.cn

Matlab图像变换 离散余弦变换 dct2(A), dct2(A, m, n): 实现二维离散余弦变换 Idct2(A), idct2(A, m, n):逆变换 load imdemos saturn2 imshow(saturn2) B = dct2(saturn2) figure, imshow(log(abs(B)), []); colormap(jet(64)); colorbar www.software.fudan.edu.cn

Matlab图像变换 dctmtx函数 返回dct变换矩阵 D = dctmtx(n), 返回nXn的DCT变换矩阵 如果矩阵A的大小为nXn, D*A是A矩阵每一列的变换值,D’*A为A每一列的逆的变换值,如果矩阵A为nXn的方阵,则A的DCT变换可以利用D*A*D’计算。 www.software.fudan.edu.cn

Matlab图像变换 离散余弦变换和图象压缩 I0 = imread('lena2.jpg'); I0 = im2double(I0); I = RGB(:,:,1); %产生二维DCT变换矩阵 T = dctmtx(8); %计算二维DCT B = blkproc(I, [8 8], 'P1*x*P2',T,T'); %二值掩膜,用来压缩DCT的系数 mask = [ 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; %只保留DCT变换的10个系数 B2 = blkproc(B, [8 8], 'P1.*x',mask); %逆DCT变换,用来重构图像 I2 = blkproc(B2, [8 8], 'P1*x*P2',T',T); imshow(I); figure, imshow(I2); www.software.fudan.edu.cn

Thank You !