MATLAB数据类型转换与判断

  • char:Convert to character array,转换为字符数组;matlab 下没有 str 字符串类型转换;
  • im2double():

0. ismatrix()

ismatrix 对于三维的矩阵返回值为 logical false。只在一种情况下返回值才为  true,当矩阵的 size(A) 的返回值为 [m, n](不可以是 [m, n, p]),且 m, n 均非负时。

if ismatrix(I)
    I = cat(3, I, I, I);
end
            % 二维灰度图像变为三维图像;
            

1. uint8 与 double

另外对于 uint8,相加、相乘,都容易溢出,所谓溢出,就是得到的超过 255 的结果,都会截断为 255,一般这种情况,即会出现相加相乘运算时,先转换为 double 类型。

matlab 对数值类型十分敏感,

  • 对 uint8 类型,期待其值域范围为 0-255;
  • 对于 double 则,期待的值域为 0-1;

    因此,如果要 imshow 一个 double 类型时,数据中大于 1 的数会视为溢出,也即显示为白色,

2. mat2gray

将 matrix 转换为灰度图像(grayscale),将无论是什么类型的 matrix(值可正可负),转化为可显示为图像的数值类型和数据范围。

I = imread('rice.png');
J = filter2(fspecial('sobel'), I);
K = mat2gray(J);

% 可以显示转换前后,J、K 矩阵各自的数据范围
subplot(121), histogram(J); subplot(122), histogram(K)

3. categorical to numeric

c = categorical({'Male','Female','Female','Male','Female'})
n = grp2idx(c)
  • Create index vector from grouping variable

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空