类和图像类型
unit8和logical广泛用于图像处理
灰度级图像
灰度级图像是一个矩阵,矩阵值表示灰度值大小,unit8和unit16分别具有范围[0,255]和[0,65535],double和single是浮点类型,但通常会将值归一化到[0,1]范围内。
二值图像
二值图像的取值只有0和1
logical可以将数值数组转换成二值图像 语法:B=logical(A) A中非0量变为逻辑1,而所有0值变为逻辑0
测试数组是否为logical类型 语法:islogical(C),为logical类型返回1,否则返回。
逻辑数组转换为数值数组 语法:B=class_name(A) 其中class_name 是im2uint8,im2uint16,im2double, im2single或mat2gray
im2double :将输入转为double类型。若输入是unit8,unit16,logical将其范围转换为[0,1],若为double类型,返回与输入相等矩阵
mat2gray:任意数组转换成值范围在[0,1]的归一化double类数组
语法:g=mat2gray(A,[Amin,Amax]) A中值小于Amin在g中为0,A中值大于Amax,在g中变成1
g = mat2gray(A) 将矩阵A中实际最小值和最大值分别赋给Amin和Amax。
算术运算符
数组索引
例 1: >>v=[1 3 5 7 9] v= 1 3 5 7 9
访问某一个元素 >>v(2)
ans=3
访问v的前三个元素 >>v(1:3)
ans=1 3 5
一个向量做另一个向量索引 >>v([1 4 5])
ans= 1 7 9
索引不相邻元素 >>v(1:2:end)
ans=1 5 9 表示从1开始,2为加数相加,直到最后一个元素
例:>>A=[1 2 3;4 5 6; 7 8 9] A= 1 2 3
4 5 6
7 8 9
选择整行或整列:>>A(2,:) ans=4 5 6
>>sun(A(:)) ans=45
函数句柄
函数句柄有两种不同类型
第一个函数是命名函数句柄
例:>>f [email protected]
>>f(pi/4) ans=0.7071
第二个函数句柄类型是匿名函数句柄 通用格式@(input-argument-list) expression
例:>>[email protected](x) x.^2
>>g(2) ans=4