【问题标题】:Reading and displaying multiple MRI images读取和显示多个 MRI 图像
【发布时间】:2023-02-17 09:46:50
【问题描述】:

我想使用以下代码在 MATLAB 中读取 100 个不同的 MRI 图像:

% Preallocate the 256-by-256-by-1-by-20 image array.
X = repmat(int16(0), [256 256 1 20]);
% Read the series of images.
 for p=1:20
   filename = sprintf('brain_%03d.dcm', p);
   X(:,:,1,p) = dicomread(filename);
end
% Display the image stack.
montage(X,[])

但出现此错误:

下标分配尺寸不匹配。

这段代码有什么问题?

【问题讨论】:

    标签: image matlab


    【解决方案1】:

    您的下标分配维度不匹配。 sprintf() 的大小不是 (256x256),因为 X(:,:,1,p)使用了错误的尺寸。

    假设您要存储一个 4 行、4 列的图像。强度范围为 0-255。那么你总共有 16 个元素,每个元素都有一个独特的强度值。

    (:,:,1) 表示 N 维,N 维乘 1。

    给定一个 4x4 是 ([1:4],[1:4],1)

    X(:,:,1,p) 是一个一组一组图像。

    【讨论】:

    • 下标分配尺寸不匹配。 Untitled19 错误(第 8 行) X(:,:,1,p) = dicomread(filename);
    猜你喜欢
    • 2020-04-05
    • 2012-07-18
    • 1970-01-01
    • 2013-10-26
    • 2016-04-26
    • 2013-02-10
    • 1970-01-01
    • 2018-10-24
    • 2023-03-20
    相关资源
    最近更新 更多