首页 > 编程知识 正文

matlab循环一次保存一次到数组,matlab中如何导入数据

时间:2023-05-03 07:52:22 阅读:33600 作者:2334

在我的APP应用程序中,需要从图像集(MRC图像)加载体积数据,并将像素数据存储在内存中(因为图像是灰度的,所以每个像素一个字节)。

我的开发环境是QT框架,MinGW for Windows和GCC for Linux。

现在,我使用简单的数据结构将volumedata存储为:

无符号char * volume data;

而且,分配得大的话,会变成以下情况。

卷数据=newunsignedchar [ imagex size * image ysize * numofimages ]

以下是访问特定平面的图像数据的重要方法。 例如

无符号char * getxyplaneslice (intz _ value;

无符号char * getyzplaneslice (intx _ value;

无符号char * getzxplaneslice (inty _ value;

我的数据结构很简单,可以很容易地实现上述方法。

如何避免碎片化? 即使当前有1000x1000x200数据,当APP应用程序崩溃时也会发生分配错误。

另外,用户应该可以对体数据执行一些图像处理过滤器,或者将其重置为原始像素值。

也就是说,我应该保存两个体数据。

无符号*volumeDataOriginal;

无符号char*volumeDataCurrent;

因此,2000x2000x1000的数据范围大约使用8Gb。 每个卷使用4Gb。

但是在Win32上,地址空间为4GB。 怎么解决这个问题? 我应该使用64位APP应用程序吗?

这是我的APP应用程序的快照

基本上,加载体数据,从图像集、MRC格式等,XY、asjddp和YZ.Image显示XY平面查看器。 要在特定平面上显示图像,必须保留三种或更多种数据访问方法。 滑块用户可以更改在选定平面上显示的图像。)

早点谢谢你。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。