gpt4 book ai didi

matlab - 如何使用二进制掩码提取感兴趣区域

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:05 25 4
gpt4 key购买 nike

我有一张原始的胸部 X 光图像 (orig.jpg)。我使用 ITK-SNAP 进行了手动分割,生成了这个二进制掩码图像 (bmask.jpg):

enter image description here

为了从背景中提取肺部区域,我运行了以下 MATLAB 代码:

clear all;
clc;
IR=imread('orig.jpg');
im=imread('bmask.jpg');
ROI = IR;
ROI(im == 1) = 0;
ROI(im ~= 1) = 1;
SEG = IR.*ROI;
figure;
imshow(SEG);
imwrite(SEG,'SEG.jpg');

结果图:

enter image description here

我发现由于靠近肺边界的肺区域内二元掩膜的某些像素具有“1”值,因此生成的图像在肺区域内的肺边界附近有一些黑点。此外,在生成的图像中,肺边界具有锯齿形图案,而不是像二元掩码那样平滑的图案。我该如何解决这些问题?谁能好心帮助我?

谢谢。

最佳答案

我猜你遇到的问题是因为你的 jpg 掩码不是真正的二进制图像。使用 jpg 存储二进制图像不是一个好主意,因为由于 jpeg 的压缩特性,您的蒙版会稍微偏离二进制图像,尤其是在边缘处。

要从您的 jpeg 蒙版中获取真正的二值图像,您可以试试这个:

Ibw = im2bw(rgb2gray(imread('mask.jpg')));

如果这没有帮助,当你生成你的面具时,不要使用 jpeg。相反,使用未压缩(或无损压缩)的灰度 tiff,或者将其作为二进制 matlab 矩阵存储在文件中。

希望这对您有所帮助。

关于matlab - 如何使用二进制掩码提取感兴趣区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26876290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com