2010-10-28 30 views
2

我想用reshape()功能的MATLAB通过调用下面的自定义函数:Matlab的重塑功能:元素的数量不能改变

imgRgb = reshape(convertYuvToRgb(reshape(imgYuv, height*width, 3)), height, width, 3); 

这里:

width=352 
height=288 

而且imgYuv是4D矩阵。

然而,系统给了我以下错误信息:

重塑的元素数不能更改。

任何专家都可以给我一些提示吗?

谢谢!

回答

8

例如,您不能将2x4矩阵重塑为3x3矩阵。一个有8个元素,另外有9个。matlab发出的警告告诉你这样的事情已经被尝试过了。

您可能认为矩阵的大小与其大小不同,但证明是在数字中。检查这些矩阵的实际大小。计算元素。 matlab函数numel会告诉你矩阵中有多少个元素,所以你可以直接比较。

+0

感谢您的解释,木片!现在我可以在修改后得到正确的输出。 – view 2010-11-01 10:47:41