如何将图像转换为单元格?在 mat2cell 的转换中运行此错误时出现错误:
close all;
I=imread('D:\prj2.jpg');
Imshow(I);
C=mat2cell(I,[130 97],[130 97]);
如何将图像转换为单元格?在 mat2cell 的转换中运行此错误时出现错误:
close all;
I=imread('D:\prj2.jpg');
Imshow(I);
C=mat2cell(I,[130 97],[130 97]);
从文档中mat2cell
:
mat2cell Break matrix up into a cell array of matrices.
C = mat2cell(X,M,N) breaks up the 2-D array X into a cell array...
这就是您当前使用函数 mat2cell 的方式。但是,从您的错误消息看来,您的矩阵I
不是二维矩阵。如果你ndims(I)
在命令行中输入,你可以看到你的数组有多少维。
从您的错误消息中,您可以看到您I
有 3 个维度(图像的第三个维度适用于每个颜色通道)。因此,您必须以mat2cell
不同的方式使用。键入help mat2cell
命令提示符,并阅读有关使用mat2cell
多维数组的信息。
或者,您可以先从图像中分别提取每个颜色通道,然后mat2cell
分别在每个颜色通道上运行:
red_channel = I(:, :, 1);
green_channel = I(:, :, 2);
blue_channel = I(:, :, 3);