现在的位置: 首页 > 综合 > 正文

matlab 命令集结(1)

2018年10月16日 ⁄ 综合 ⁄ 共 1836字 ⁄ 字号 评论关闭

double转uint8

A是double型,先对A做一个截尾取整运算,然后再转换数据类型吧
A=fix(A);  AA=uint8(A);这样可能会好一点吧

或者

im2double():将图像数组转换成double精度类型

im2uint8():将图像数组转换成unit8类型

im2uint16():将图像数组转换成unit16类型

cell转uint8

 %EO(1,1);为 1*1 cell 数值类型
>> sss = EO(1,1);
>> mm = cell2mat(sss); %cell转double
>> mm = fix(mm);
>> mm= unit8(mm);

axis equal:纵、横坐标轴采用等长刻度

sskkm是M*N矩阵

sskkmmm = unique(sskkm);

sskkmmm是统计sskkm中的整数类别。

如果sskkm是0-1矩阵,sskkmmm值是0,1

1、p = nextpow2(A)   

若A为标量,返回p,p为使2^p≥abs(A)成立的p的最小值;

若A为向量,返回p,p为使2^p≥length(A)成立的p的最小值。

如A = 512,p = 9(因为2^9 = 512);如A = 513,则p = 10(因为2^10 ≥513且10为可取最小值;如A = [1 2 3 4 5],则得到p = 3,因为2^3 ≥length(A) = 5,且3为可取最小值。

当A为向量时,有警告,需注意。

2、iptchecknargin(low,high,num_inputs,func_name) 检查参数数量是否在正常范围内;error

3、iptcheckinput(A, classes, attributes, func_name, var_name, arg_pos)
 验证数组A的性质

4、IMAGE =changeclass(class,varargin)  改变varargin类型为class

5、Matlab取整函数:fix(向0方向取整);floor(向负无穷方向取整);ceil(向正无穷方向取整);round(四舍五入)

6、k = imfinfo(filename) 获取图像信息;impixelinfo最近打开figure中显示像素信息指示工具,(旧版的pixelval)

7.iptchecknargin(low, high, num_inputs, func_name)该函数检查输入参数个数是否在 low 和 high 之间,假如不在, iptchecknargin 返回一个格式错误消息。
Low 应该是一个非负整数, high 应该是一个非负整数或者无穷大。

注明:该例子来自 Mathworks 公司英文帮助文件.
创建一个函数,用 iptchecknargin 检查函数参数是否在期望的范围内。

8.iptcheckinput(A, classes, attributes, func_name, var_name, arg_pos)  验证数组A的性质

9.tf = islogical(A) 返回1(true)如果A中所有元素都是逻辑类型的, 返回0(false)如果1不是逻辑类型的.


matlab 顶帽变换

se=strel('disk',10);%产生结构元素;%圆盘型结构元素
f1=imtophat(s,se);%使用顶帽变换 %顶帽变换是指原始图像减去其开运算的图像

当一幅图像具有大幅的背景的时候,而微小物品比较有规律的情况下,可以使用顶帽运算进行背景提取。

顶帽变换的主要代码是:

if islogical(A)
    B = A & ~imopen(A,SE);
else
    B = imsubtract(A, imopen(A,SE));
end

imopen(A,SE)开运算属于形态学图像处理,是先腐蚀后膨胀。作用是,可以使边界平滑,消除细小的尖刺,断开窄小的连接。保持面积大小不变等。

imsubtract(A,B) A-B

find函数用于返回所需要元素的所在位置  (位置的判定:在矩阵中,第一列开始,自上而下,依次为1,2,3...,然后再从第二列,第三列依次往后数)
搜索
find(A)返回矩阵A中非零元素所在位置
>> A = [1 0 4 -3 0 0 0 8 6];
>> X = find(A)

X =

     1     3     4     8     9
find(A>5)返回矩阵A中大于5的元素所在位置
>> find(A>5)

ans =

     8     9

[i,j,v]=find(A)  返回矩阵A中非零元素所在的行i,列j,和元素的值v(按所在位置先后顺序输出)

matlab k均值聚类

matlab 二值化







抱歉!评论已关闭.