2012-04-18 73 views
-2

如何将图像转换为单元格?将图像转换为单元格

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

你得到什么错误?我的大小是多少? (运行'size(I)'来找出) – 2012-04-18 03:45:48

+1

???在使用==> mat2cell时发生错误96 输入向量自变量的数目2与输入矩阵的维数数量不匹配3. 错误在==> prj at 4 C = mat2cell(I,[130 97] ,[130 97]); – user1340253 2012-04-18 04:36:35

回答

1

从文档mat2cell:而在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); 
+0

如何将rgb转换为帧M(1)= im2frame(red_channel,map); M(2)= im2frame(green_channel,map); M(3)= im2frame(blue_channel,map); ???未定义的函数或变量“映射”。 错误==> prj at 7 M(1)= im2frame(red_channel,map); – user1340253 2012-04-18 10:48:21

+0

嗨任何人都可以帮助我写作matlab代码将图像转换为帧,然后应用湍流模拟,然后将帧转换为视频。 – user1340253 2012-04-18 11:32:05

+0

伟大的评论。也许这些将会是最好的单独问题,在这里很难回答。 – 2012-04-18 15:01:44