如何删除原始图像中不存在的修改图像中的所有白色像素?

信息处理 图像处理
2022-02-24 15:25:23

我有以下图片

在此处输入图像描述

在阈值化之后,我得到了这个结果:

在此处输入图像描述

如何删除不属于原始图像的所有白色像素?

所需的输出应如下所示(我手动编辑了图像):

期望的输出

1个回答

欢迎来到图像处理!

(见底部编辑)

如果我理解你的话,用低阈值对图像进行阈值处理将为你的手提供一个遮罩,你可以用它来去除背景像素。

这就是它在 Mathematica 中的外观(ImagePad这里仅用于删除图像上多余的白色边框):

img = ColorConvert[Import["http://i.stack.imgur.com/krbMs.jpg"], "Grayscale"];
border = BorderDimensions[img];
img = ImagePad[img, -border]

hand = Binarize[img, 0.2]

thresholded = Binarize[ImagePad[Import["http://i.stack.imgur.com/ylo3B.jpg"], -border], 0.1]

在此处输入图像描述

您可能需要检查这个其他问题,以了解基于脊过滤的替代分割技术。

编辑:根据您的评论,您只想处理阈值图像并清理它以仅留下与静脉相对应的组件。我会看形态学操作(例如打开,基于形状属性的组件选择)。顺便说一句,我觉得这比使用不同的静脉分割算法更难(见上面提出的一个)。