-2

如何将图像转换为单元格?在 mat2cell 的转换中运行此错误时出现错误:

close all;
I=imread('D:\prj2.jpg');
Imshow(I);
C=mat2cell(I,[130 97],[130 97]);
4

1 回答 1

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不是二维矩阵。如果你ndims(I)在命令行中输入,你可以看到你的数组有多少维。

从您的错误消息中,您可以看到您I有 3 个维度(图像的第三个维度适用于每个颜色通道)。因此,您必须以mat2cell不同的方式使用。键入help mat2cell命令提示符,并阅读有关使用mat2cell多维数组的信息。

或者,您可以先从图像中分别提取每个颜色通道,然后mat2cell分别在每个颜色通道上运行:

red_channel = I(:, :, 1);
green_channel = I(:, :, 2);
blue_channel = I(:, :, 3);
于 2012-04-18T06:55:07.020 回答