matlab基本使用方法.docx
《matlab基本使用方法.docx》由会员分享,可在线阅读,更多相关《matlab基本使用方法.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1. 读取图像:用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG等。比如 f = imread(chestxray.jpg);读进来的图像数据被保存在变量f中。尾部的分号用来抑制输出。如果图片是彩色的,可以用rgb2gray转换成灰度图: f = rgb2gray(f);然后可以用size函数看图像的大小 size(f)如果f是灰度图像,则可以用下面的命令把这个图像的大小赋给变量M和N M, N = size(f);用whos命令查看变量的属性 whos f2. 显示图像:用imshow显示图像imshow(f, G)其中f是图像矩阵,G是像素的灰度级,
2、G可以省略。比如 imshow(f, 100 200)图像上所有小于等于100的数值都会显示成黑色,所有大于等于200的数值都会显示成白色。pixval命令可以用来查看图像上光标所指位置的像素值。pixval例如 f = imread(rose_512.tif); whos f imshow(f)如果要同时显示两幅图像,可以用figure命令,比如 figure, imshow(g)用逗号可以分割一行中的多个命令。imshow的第二个参数用一个空的中括号: imshow(h, )可以使动态范围比较窄的图像显示更清楚。 3. 写图像。用imwrite写图像imwrite(f, filename)
3、文件名必须包括指明格式的扩展名。也可以增加第三个参数,显式指明文件的格式。比如 imwrite(f, patient10_run1.tif, tif)也可以写成 imwrite(f, patient10_run1.tif)还可以有其他参数,比如jepg图像还有质量参数: imwrite(f, filename.jpg, quality, q)q是0到100之间的一个整数。对比不同质量的图像效果。用imfinfo命令可以查看一个图像的格式信息,比如 imfinfo bubbles25.jpg可以把图像信息保存到变量中 K = imfinfo(bubbles25.jpg); image_bytes
4、 = K.Width * K.Height * K.BitDepth / 8; compressed_btyes = K.FileSize; compression_ratio = image_bytes / compressed_bytes4. 数据类型。MATLAB的数据类型包括:double 双精度浮点 uint8 无符号8位整数 uint16 无符号16位整数 uint32 无符号32位整数 int8 有符号8位整数 int16 有符号16位整数 int32 有符号32位整数 single 单精度 char 字符 logical 逻辑型(二值)数据类型转换B = data_class_
5、name(A)比如 C = 1.4 1.5 D = uint8(C)图像类型分为:Intensity image 灰度图 Binary image 二值图 Indexed image 索引图 RGB image 彩色图在灰度图中每个像素可以是整型、浮点型或者逻辑型。图像类型的像素类型可以转换function to from im2uint8 uint8 logical,uint8,uint16,double im2uint16 uint16 logical,uint8,uint16,double mat2gray double double im2double double logical,u
6、int8,uint16,double im2bw logical uint8,uint16,double比如g = mat2gray(A, Amin, Amax); g = mat2gray(A); g = im2double(h); g = im2bw(f, T)其中A是浮点型的图像,Amin和Amax是浮点数的范围,h和f是任意类型的图像,T是分割的阈值。 5. 数组(向量)索引:创建向量(数组): v = 1 3 5 7 9 11 13用小括号对向量进行索引(取数组中的某个元素): v(2)转置(将行向量通过转置变成列向量): w = v.取向量其中的一部分: v(1:3) 第1个到第3
7、个 v(2:4) v(3:end) 第3个到最后一个 v(1:end) v(:) 全部 v(1:2:end) 第1个到最后一个,每次增加2 v(end:-2:1) 最后一个到第1个,每次减2其中end总是表示最后一个。 x = linspace(1, 5, 10) v(1 4 5)linspace函数产生一个范围内的平均分布。 6. 矩阵索引:创建矩阵 A = 1 2 3; 4 5 6; 7 8 9取矩阵中的一个元素 A(2, 3)取矩阵中的一行或者一列 C3 = A(:, 3) R2 = A(2, :)取矩阵中某些行某些列 T2 = A(1:2, 1:3)对矩阵中某些元素进行赋值: B =
8、A; B(:, 3) = 0用end表示最后一行或者最后一列: A(end, end) 最后一行最后一列 A(end, end-2) 最后一行倒数第三列 A(2:end, end:-2:1) 第2行到最后一行,最后一列到第一列,每次减2 E = A(1 3, 2 3) 第1、3行,第2、3列 D = logical(1 0 0; 0 0 1; 0 0 0) A(D) 取A中由D指定的位置上的元素 v = T2(:) 把矩阵变成一个向量 s = sum(A(:) 求和 sum(sum(A)可以把矩阵操作用在图像上 f = imread(filename); fp = 矩阵列倒转 imshow(f
9、p) fc = imshow(fc) fs = imshow(fs) plot(f(512,:)矩阵可以是多维的,用size看矩阵大小,用ndims命令常看矩阵的维数 size(A, 1) ndims(A)7. 一些常用的矩阵zeroes(M, N) ones(M, N) true(M, N) false(M, N) magic(M) rand(M, N) randn(M, N)其中M、N表示矩阵的行数和列数。比如 A = 5 * ones(3, 3) magic(3) B = rand(2, 4)8. 函数:可以把一系列的MATLAB语句或者一个带参数的函数放在扩展名叫做m的文件中。一个带函
10、数的m文件有一下部分组成函数定义行 H1行 帮助部分 函数体 注释函数定义行的格式是function outputs = name(inputs)比如要写一个函数计算两个图像的和以及乘积function s, p = sumprod(f, g)其中f和g是输入的图像,而s是和,p是乘积。返回值用中括号括起来,如果返回值只有一个,可以省略中括号。如果函数没有输出,则中括号和等号都可以省略。函数名字的命名规则和C语言是相同的。定义好的函数可以在命令行调用: s, p = sumprod(f, g);也可以被其它函数调用。如果只有一个返回值,调用时中括号也是可以省略的,比如 y = sum(x);H
11、1行是文本的第一行,是一个单行的注释,紧跟在函数定义行后面,之间不能有空行。比如% SUMPROD Computes the sum and product of two images.百分号开始的文字表示注释。当使用帮助命令 help function_name时,这个H1行会被首先显示出来。如果使用lookfor命令,则会在所有H1行中查找指定的关键字。这一行应该提供这个函数功能的一个概述。帮助部分是紧跟在H1后的文本块,中间没有空行,用来提供对这个函数更详细的帮助说明。在使用help命令时会显示所有这部分内容。这部分内容由注释语句构成,全部由%开始。接下来第一个非注释语句表示函数体的开始
12、。函数体包含进行计算的语句和给返回值赋值的语句。函数题中的所有注释(百分号开始的行)被认为是普通的注释,不是H1或者帮助部分。m文件可以用任何文本编辑器创建和编辑,只要用.m扩展名保存在MATLAB可以搜索到的路径里面。另一个创建和编辑函数的方法是在命令行输入edit命令,比如 edit sumprod这命令会编辑已经存在的sumprod.m文件,如果没有则自动在当前目录中创建一个sumprod.m并开始编辑。 9. 运算符。运算符可以分为算术运算符,关系运算符和逻辑运算符。算术运算符分为矩阵算术运算符和数组算术运算符。+ 矩阵和数组加法 plus(A, B) a+b, A+B - 矩阵和数组
13、减法 minus(A,B) a-b, A-B .* 数组乘法 times(A,B) C=A.*B, 意味着C(I,J) = A(I,J)*B(I,J) * 矩阵乘法 mtimes(A,B) A*B, 表示线性代数中的矩阵运算,或者a*A ./ 数组右除 rdivide(A,B) C=A./B, 意味着C(I,J)=A(I,J)/B(I,J) . 数组左除 ldivide(A,B) C=A.B, 意味着C(I,J)=B(I,J)/A(I,J) / 矩阵右除 mrdivide(A,B) A/B 意味着A*inv(B), inv是矩阵求逆 矩阵左除 mldivide(A,B) AB 意味着inv(A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 基本 使用方法
限制150内