我有一张噪声很大的图像(256x256 uint8),所以我制作了一个包含值 0 和 1 的 roi,真实图像标记为 1,噪声标记为 0。
如何使用我制作的 roi 提取真实图像?
它应该是这样的:如果坐标 x,y 根据 roi 为 1,则保留它,如果不是,则不要将其添加到新图像中。
提前致谢。
我有一张噪声很大的图像(256x256 uint8),所以我制作了一个包含值 0 和 1 的 roi,真实图像标记为 1,噪声标记为 0。
如何使用我制作的 roi 提取真实图像?
它应该是这样的:如果坐标 x,y 根据 roi 为 1,则保留它,如果不是,则不要将其添加到新图像中。
提前致谢。
我认为这可能很简单
yourImage(roi)
或者
newImage = NaN(size(yourImage)); %Or perhaps zeros instead of NaN
newImage(roi>0) = yourImage(roi>0)
如果这不起作用,请提供您的可变尺寸。
这是它应该如何工作的示例:
% Suppose this is your image
yourImage = uint8(round(255*rand(256)));
% Suppose this is the mask of zeros and ones you created
roi = uint8(yourImage < 10);
newImage = NaN(size(yourImage));
newImage(roi>0) = yourImage(roi>0);