MATLAB介绍 Matlab基本命令介绍 Matlab矩阵运算 Matlab控制流 Matlab图像处理工具箱 实习题讲解
Matlab基本命令介绍 >>help topic >>type filename >>clear clear name; clear keyword >>save; load >>disp(X) >>who/whos >>[m,n]=size(x); d=size(x);
Matlab基本命令介绍 装入文件运行 >>type sample1.m >>sample1 使用Matlab Editor/Debugger File|New|M-file
Matlab基本命令介绍 Matlab文件 命令集(Scripts) 函数(Functions) 函数名 输入参数(Input arguments) 输出参数(Output arguments)
Matlab矩阵运算 Matlab矩阵运算 一维矩阵赋值 >>x = [1 3 5 2]; >>y = 2 * x >>y(3) = 2 // modify >>y(6) = 10 // add >>y(4) = [] // delete
Matlab矩阵运算 一维矩阵操作 >>x = 7:16 >>x = 7:3:16 >>x = linspace(4,10,6) >>z = x’ //转置 >>length(z) max(z) min(z)
Matlab矩阵运算 二维矩阵操作 >>A = [ 1,2,3,4; 5 6 7 8; 9,10,11,12] >>A = [A,B’] //增补一列 >>A(:,2) = [] //删去第2列 >>A = [A; 1 2 3 4] //增补一行 >>A([1,4],:) = [] //删去1,4行 >>B = reshape( A, 2, 6 )
Matlab矩阵运算 基本运算 A+B; A-B; A*B; A^a; A/B(A*inv(B)); A\B(inv(A)*B);A’; A.’ 另矩阵的数组操作:A.*B; A./B;A.\B;A.^a A=[1 2 3;4 5 6]; A*A=[30 36 42; 66 81 96;102 126 150]; A.*A=[1 4 9;16 25 36;49 64 81];
Matlab矩阵运算 矩阵的关系运算 <, >, <=, >=, ==, ~= 对矩阵进行关系运算时,对矩阵的每个元素进行比较,运算结果为与原矩阵大小一样的由0和1组成的矩阵 逻辑运算 &, |, ~, xor
Matlab控制流 if 条件式 运算式; end if 条件式 运算式; elseif 条件式 运算式; else 运算式; end
Matlab控制流 for 变量=表达式 ……; end while 条件式 ……; end >>clear >>x = zeros( 1, 6 ); >>for I = 1:6; >> x(I) = 1/I; >>end >>format rat; >>disp(x) while 条件式 ……; end >>x = zeros( 1, 6 ); >>I=1; >>while I<7 >> x(I) = 1/I; >>end >>format rat; >>disp(x)
Matlab控制流 swith 选择表达式 case 情况表达式 执行语句; …… otherwise 执行语句 中断语句 break; 函数返回语句 return
Matlab输入输出操作 I/O命令 输入 r = input(‘Test input’) //输入数字 name = input( ‘Name input:’, ‘s’ ) 输出 disp sprintf
Matlab输入输出操作 文件I/O操作 输入 fopen: fid=fopen(‘filename’,option); fread: x=fread(fid); csvread: x=csvread(filename);//text only 输出 fprintf: fprintf(fid,format,A,…); fwrite: fwrite(fid,A,precision); csvwrite:csvwrite(filename,A);//text only
Matlab图像处理工具箱 图像输入输出 imread: imread(filename,fmt); x=imread(‘lena.bmp’,’bmp’); imwrite: imwrite(A,filename;fmt); 图像显示 imshow(l,n); imview;
Matlab图像处理工具箱 部分常用函数 double(x);//数据类型改成double im2bw(im,level);//将图像转换成2值图像 rgb2gray(x);//RGB图像变成灰度图 imhist(l,n);//显示图像的直方图 histeq(l,n); //直方图均衡化 imadd(X,Y);//两幅图像相加 imerode;medfilt2 etc..
实习题 实习题一:用MATLAB软件编制读入并显示bmp格式的程序,用鼠标选择区域,将其象素数据写入数组,并以文本文件txt输出。 上机实习题2:查阅Microsoft的有关资料,了解BMP文件的格式,写出读出BMP文件中各象素灰度值并显示该BMP文件的程序流程图,并实现之。
实习题 实习题一: >>x=imread(‘noname1.bmp’,’bmp’); >>y=imcrop(x); >>csvwrite(’firstExp.txt’,y); 实习题一: funtion I=iread(filename); x=imread(‘noname1.bmp’,’bmp’); y=imcrop(x); csvwrite(‘firstExp.txt’,y); I=y;
实习题 第二章上机实习题 使用Photoshop软件,阅读关于颜色空间的相关帮助。 编制程序实现RGB到HSB和HSB到RGB彩色图象转换程序,并用R,G,B最大值来测试程序。
实习题 S与RGB之间的转换公式 S=1-3*min(min(R,G),B)./(R+G+B) 为什么用./?
实习题 第三章上机实习题 1、在matlab软件中编制读取图象并输出其直方图的程序。 2、编程实现上题的功能(输入输出图象格式bmp)。
实习题 实习题三: 1. >>x=imread(‘noname1.bmp’,’bmp’); >>imhist(x);//显示直方图 >>y=imhist(x); >>csvwrite(‘thirdExp.txt’,y); …
谢谢 Name:周如益 Email:zhouruyi@ai.nju.edu.cn bbs id:silenceZRY Laboratory No:MMW 301