Matlab 将图像转换为单元格
如何将图像转换为单元格?在转换mat2cell时运行此命令时出错: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
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代码,将图像转换为帧,然后应用湍流模拟,然后将帧转换为视频。非常好的评论。也许这些问题最好是分开的,在这里很难回答。