如何将图像转换为单元格?在mat2cell的转换中运行这个时出错:
close all;
I=imread('D:\prj2.jpg');
Imshow(I);
C=mat2cell(I,[130 97],[130 97]);
答案 0 :(得分:1)
来自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
似乎不是2D矩阵。如果在命令行中键入ndims(I)
,则可以查看数组的维数。
从错误消息中,您可以看到您的I
有3个维度(图片的第三个维度适用于每个颜色通道)。因此,您必须以不同方式使用mat2cell
。在命令提示符下键入help mat2cell
,并阅读有关使用mat2cell
多维数组的信息。
或者,您可以先从图像中分别提取每个颜色通道,然后分别在每个颜色通道上运行mat2cell
:
red_channel = I(:, :, 1);
green_channel = I(:, :, 2);
blue_channel = I(:, :, 3);