ismatrix 对于三维的矩阵返回值为 logical false。只在一种情况下返回值才为 true,当矩阵的 size(A) 的返回值为 [m, n]
(不可以是 [m, n, p]
),且 m, n 均非负时。
if ismatrix(I)
I = cat(3, I, I, I);
end
% 二维灰度图像变为三维图像;
另外对于 uint8,相加、相乘,都容易溢出,所谓溢出,就是得到的超过 255 的结果,都会截断为 255,一般这种情况,即会出现相加相乘运算时,先转换为 double 类型。
matlab 对数值类型十分敏感,
将 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)
c = categorical({'Male','Female','Female','Male','Female'})
n = grp2idx(c)
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删