首页 > 解决方案 > 将灰度图像分量颜色分割成黑色、白色和灰色

问题描述

经过很长时间的尝试,我仍然找不到解决问题的合适方法。问题是将这个灰度图像分割成 3 种不同的颜色:边界应该是黑色,边界的内部空间应该是白色,而所有其他介质应该是黑色。

在此处输入图像描述

我尝试了几种不同的方法,包括直截了当的强度分割和其他一些形态分割。但是我得到的有两个主要问题:

当前结果:

在此处输入图像描述

预期的输出应该有三种不同颜色的清晰边界,至少不应该在黑色边界内有灰线。我的意思是在黑色的边界内,它应该是全白的,没有任何灰色。有点像我创建的这个图像,它们没有完全相同的结构,但请注意它是多么干净,这种干净和精确的分割是我想要的。

预期结果:

在此处输入图像描述

标签: pythonimage

解决方案


您需要应用一些区域填充效果。有两个对你有很大好处,特别是因为你擅长寻找黑色边界。按照您已经完成的操作来确定这些。您还需要替换任何没有内部的小(根据您的定义)黑色区域,将其变为灰色(暂时;可能会改变)。

  1. 找到每个区域的内壳和外壳(已知算法)。里面的东西都变白了;外面的一切都变灰了。
  2. 在所有区域应用“影响抖动”:用其直接邻居的平均值替换每个像素;黑色像素不参与。重复平均操作,直到每个区域稳定在白色或灰色值附近。然后将整个区域驱动到该值。

.


推荐阅读