如何在Matlab中将2D矩阵序列存储到3D数组中?

oma11

我拥有这些系列的2D CT图像,并且已经能够使用“ imread”将其读取到Matlab中。但是,问题是我需要将图像读入为单个3D矩阵,而不是几个2D矩阵的堆栈。我已经知道可以将2D图层的数量存储为第3维,但是我仍然不知道如何做,因为我仍然是一个学习者。我要在2D堆栈中读取的代码如下:

a = dir('*.tif');                   

for i = 1: numel(a)
     b           = imread(a(i).name);    %read in the image              
     b_threshold = graythresh(b);        %apply threshold            
     b_binary    = im2bw(b, b_threshold);   %binarize image

     [m, n]      = size(b);              %compute the size of the matrix
     phi(i)      = ((m*n) - sum((b_binary(:))))/(m*n);   %compute the fraction of pore pixels in the image
     phi(:,i)    = phi(i);               %store each of the above result
end

尽管仅需要其中几个,但我仅添加了一个图像。但是,人们可以轻松地复制图像以创建一堆2D图像。为了使代码正常工作,以数字顺序重命名它们很重要。pore_image任何帮助/建议/想法都受到欢迎。谢谢!

狮子座313

好吧,第一个建议是尝试不要在Matlab中使用变量ij因为在变量中它们是保留的(请在此处此处查看)。之后,取决于要存储2D图像的尺寸:

  1. 如果要沿第一个维度存储图像,请使用以下代码:

    a = dir('*.tif');                   
    
    for ii = 1: numel(a)
        b           = imread(a(ii).name);    %read in the image              
        b_threshold = graythresh(b);        %apply threshold            
        b_binary    = im2bw(b, b_threshold);   %binarize image
    
        [m, n]      = size(b);              %compute the size of the matrix
        phi(ii)      = ((m*n) - sum((b_binary(:))))/(m*n);   %compute the fraction of pore pixels in the image
        phi(:,ii)    = phi(ii);               %store each of the above result
        matrix_3D_images(ii,:,:)=b_binary;   %adding a new layer
    end
    

如果要沿其他尺寸存储图像,则很容易做到:只需更改“指针”的位置即可ii

  1. matrix_3D_images(:,ii,:)=b_binary; 或者
  2. matrix_3D_images(:,:,ii)=b_binary;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

3D矩阵到2D矩阵Matlab

来自分类Dev

如何在numpy中将3D矩阵与2D矩阵有效相乘

来自分类Dev

如何在python中将图像的尺寸从3D矩阵更改为2D矩阵?

来自分类Dev

如何在MATLAB中将2D矩阵的单元格数组转换为多维数组

来自分类Dev

R中的2D矩阵到3D堆叠数组

来自分类Dev

在MATLAB中将3D矩阵调整为2D矩阵

来自分类Dev

如何在Groovy中将2d数组动态转换为3d数组

来自分类Dev

如何在GAS中将3D数组转换为2D数组?

来自分类Dev

MATLAB:将 2D 矩阵与元胞数组内的 3D 矩阵相乘

来自分类Dev

如何通过在MATLAB中控制2D数组的列来创建3D数组?

来自分类Dev

如何在Matlab中输入3D矩阵?

来自分类Dev

如何在MATLAb中的2D矩阵的n,m位置构建1x3向量的嵌套数组?

来自分类Dev

如何在z = 0平面中将2D转换矩阵(用于齐次坐标)转换为3D?

来自分类Dev

在Matlab中合并2D矩阵以形成3D矩阵

来自分类Dev

通过在 Matlab 中内插 3D 矩阵的层来获得内插的 2D 矩阵

来自分类Dev

我应该如何用numpy将3d数组中的1d数组乘以2d矩阵

来自分类Dev

从3D单元阵列中提取数据到2D矩阵-MATLAB

来自分类Dev

在Matlab / octave中将2d数组重塑为3d数组

来自分类Dev

如何在3D Numpy数组中查找2D数组的行

来自分类Dev

MATLAB:将3d数组与2d矩阵相乘并通过矢量化求和

来自分类Dev

如何将2D numpy数组与3D数组矩阵相乘以得到3D数组?

来自分类Dev

如何在 Matlab 中将 3D 数据矩阵保存为点云?

来自分类Dev

如何在C ++中将OpenCV 2D矩阵转换为1D数组?

来自分类Dev

如何将2d矩阵添加到3d数组并保留3d阵列的形状?

来自分类Dev

如何在ArrayList中存储2D Integer数组?

来自分类Dev

在Matlab 3D数组中查找重复的2D数组

来自分类Dev

在Matlab 3D数组中查找重复的2D数组

来自分类Dev

在Matlab 3D数组中查找重复的2D数组

来自分类Dev

Matlab。在3D阵列中存储2D阵列

Related 相关文章

  1. 1

    3D矩阵到2D矩阵Matlab

  2. 2

    如何在numpy中将3D矩阵与2D矩阵有效相乘

  3. 3

    如何在python中将图像的尺寸从3D矩阵更改为2D矩阵?

  4. 4

    如何在MATLAB中将2D矩阵的单元格数组转换为多维数组

  5. 5

    R中的2D矩阵到3D堆叠数组

  6. 6

    在MATLAB中将3D矩阵调整为2D矩阵

  7. 7

    如何在Groovy中将2d数组动态转换为3d数组

  8. 8

    如何在GAS中将3D数组转换为2D数组?

  9. 9

    MATLAB:将 2D 矩阵与元胞数组内的 3D 矩阵相乘

  10. 10

    如何通过在MATLAB中控制2D数组的列来创建3D数组?

  11. 11

    如何在Matlab中输入3D矩阵?

  12. 12

    如何在MATLAb中的2D矩阵的n,m位置构建1x3向量的嵌套数组?

  13. 13

    如何在z = 0平面中将2D转换矩阵(用于齐次坐标)转换为3D?

  14. 14

    在Matlab中合并2D矩阵以形成3D矩阵

  15. 15

    通过在 Matlab 中内插 3D 矩阵的层来获得内插的 2D 矩阵

  16. 16

    我应该如何用numpy将3d数组中的1d数组乘以2d矩阵

  17. 17

    从3D单元阵列中提取数据到2D矩阵-MATLAB

  18. 18

    在Matlab / octave中将2d数组重塑为3d数组

  19. 19

    如何在3D Numpy数组中查找2D数组的行

  20. 20

    MATLAB:将3d数组与2d矩阵相乘并通过矢量化求和

  21. 21

    如何将2D numpy数组与3D数组矩阵相乘以得到3D数组?

  22. 22

    如何在 Matlab 中将 3D 数据矩阵保存为点云?

  23. 23

    如何在C ++中将OpenCV 2D矩阵转换为1D数组?

  24. 24

    如何将2d矩阵添加到3d数组并保留3d阵列的形状?

  25. 25

    如何在ArrayList中存储2D Integer数组?

  26. 26

    在Matlab 3D数组中查找重复的2D数组

  27. 27

    在Matlab 3D数组中查找重复的2D数组

  28. 28

    在Matlab 3D数组中查找重复的2D数组

  29. 29

    Matlab。在3D阵列中存储2D阵列

热门标签

归档