屏蔽图像显示错误的强度

时间:2017-09-21 02:55:41

标签: image matlab mask

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

masked_image = image.*mask;

我得到的masked_image强度值完全错误。实际上,它的值在原始图像上找不到。它们太大了。我想要实现的是在掩模位置提取原始图像的强度并计算该ROI的平均值。我可以从imshow看到遮罩在图像上正确对齐。但是,应用面具是不成功的,我不明白为什么。

2 个答案:

答案 0 :(得分:1)

您的mask不应该从0到255进行缩放。它应该只包含0或1,以便按您希望的方式使用它。这些替代方案中的任何一个都可行:

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

答案 1 :(得分:0)

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