matlab中如何将unit8转换为double

我读入了一个图像,附于矩阵A,<8101x9184 uint8>
然后我用B=double(A),因为想将A中数据进行加运算,好像不转换就会造成溢出,但是运行时总是出现
??? Out of memory. Type HELP MEMORY for your options.这个错误,也不知道怎么回事,然后我又看到有一个im2double()但它是将A转换为0~1范围内的数据,我不想这样转换(当然运行这个函数时也出现上述错误),我只是想让A中数据可以正确的进行加法运算,跪求大神帮帮忙~~~~~~

内存不足,说明你的数据量太大了,一个double是8字节,值uint8的8倍。
试试single看看,single是double的一半内存。
要是还内存不够,除非你改算法;或者用64bit的matlab试试。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-11
out of memory出现的原因好像是内存不足。你可以把数据切割下,然后分别运算,最后再整合到一起。