- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一张原始的胸部 X 光图像 (orig.jpg)。我使用 ITK-SNAP 进行了手动分割,生成了这个二进制掩码图像 (bmask.jpg):
为了从背景中提取肺部区域,我运行了以下 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');
结果图:
我发现由于靠近肺边界的肺区域内二元掩膜的某些像素具有“1”值,因此生成的图像在肺区域内的肺边界附近有一些黑点。此外,在生成的图像中,肺边界具有锯齿形图案,而不是像二元掩码那样平滑的图案。我该如何解决这些问题?谁能好心帮助我?
谢谢。
最佳答案
我猜你遇到的问题是因为你的 jpg 掩码不是真正的二进制图像。使用 jpg 存储二进制图像不是一个好主意,因为由于 jpeg 的压缩特性,您的蒙版会稍微偏离二进制图像,尤其是在边缘处。
要从您的 jpeg 蒙版中获取真正的二值图像,您可以试试这个:
Ibw = im2bw(rgb2gray(imread('mask.jpg')));
如果这没有帮助,当你生成你的面具时,不要使用 jpeg。相反,使用未压缩(或无损压缩)的灰度 tiff,或者将其作为二进制 matlab 矩阵存储在文件中。
希望这对您有所帮助。
关于matlab - 如何使用二进制掩码提取感兴趣区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26876290/
如何使 java.nio.channels.SelectionKey 对 NO opts 感兴趣? SelectionKey#cancel() 有可能,但不太好,因为它使 key 无用。 Select
我正在寻找可以在 8 位微处理器上运行并支持动态语言的推荐虚拟机。我喜欢 VM 解决方案,因为我认为它在代码密度、可移植性和拥有更小解释器的能力方面有好处,从而为更大的程序留出更多空间。 我的目标是在
这里有一个关于在 KeyValuePair(TKey, TValue) 中重写 ToString() 的问题,这是不可能的。 我看到有一些属性类型,例如 DebuggerDisplayAttribut
我是一名优秀的程序员,十分优秀!