显示错误强度的蒙版图像

Masked image displaying wrong intensity

我有一个 3D 图像和一个蒙版,大小都是 [256x256x160]。掩码是 0 和 255 的二进制图像。在图像上应用掩码后,如下所示:

masked_image = image.*mask;

我得到一个强度值完全错误的 masked_image。事实上,它的值在原始图像上无处可寻。它们太大了。我想要实现的是在掩码位置提取原始图像的强度并计算该 ROI 的平均值。我可以从 imshow 中看到蒙版在图像上正确对齐。但是敷面膜不成功,不明白为什么。

您的 mask 不应从 0 缩放到 255。它应该只包含 0 或 1 以按您想要的方式使用它。这些替代方案中的任何一种都可以工作:

masked_image = image.*logical(mask);
% Or...
masked_image = image.*(mask > 0);
% Or...
masked_image = image.*(mask./255);

将掩码转换为 0 和 1 而不是 0 和 255 解决了问题。 提取的 ROI 现在具有正确的强度。 感谢您的澄清。