Matlab 将图像转换为单元格

Matlab 将图像转换为单元格,matlab,Matlab,如何将图像转换为单元格?在转换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 a

如何将图像转换为单元格?在转换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);

你犯了什么错误?I的尺寸是多少?(运行
size(I)
找出答案)???在96个输入向量参数2处使用==>mat2cell时出错,与输入矩阵的维数3不匹配。在4 C=mat2cell(I,[130 97],[130 97])时的误差==>prj;如何将rgb转换为帧M(1)=im2frame(红色通道,贴图);M(2)=im2frame(绿色信道,map);M(3)=im2frame(蓝色通道,贴图)???未定义的函数或变量“map”。在7 M(1)=im2帧(红色信道,贴图)时,错误==>prj;大家好,任何人都可以帮助我编写matlab代码,将图像转换为帧,然后应用湍流模拟,然后将帧转换为视频。非常好的评论。也许这些问题最好是分开的,在这里很难回答。