【问题标题】:Segment greyscale image components color into black, white and grey将灰度图像分量颜色分割成黑色、白色和灰色
【发布时间】:2019-07-23 16:22:53
【问题描述】:

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

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

    1. 在黑色边界内总是有一些灰色像素,我无法删除。 (主要关注点)
    1. 对于那些小物件,分割后很可能会丢失细节。

当前结果:

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

预期结果:

【问题讨论】:

  • 您需要更好地解释您需要什么。您发布的“预期输出”与原始图像的边界不匹配;我不知道你有什么样的划分理由。
  • 感谢您的指出。我只是添加了一些解释。请看看他们是否能帮助您理解我的问题。

标签: python image


【解决方案1】:

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

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

.

【讨论】:

  • 你的意思是mode而不是mean?
  • 不,但是mode 也可以很好地工作——甚至可能更好。
  • 我尝试使用洪水填充算法将封闭形状内的任何内容填充为白色。但它并不完美。不仅黑色边界内被洪水填充,而且其他一些地方也被填充了,这意味着增加了更多的错误。您是否知道我可以控制要进行洪水填充的孔的大小?
  • 如果您没有指定问题,很难推荐维修。 “它工作不完美”和“还有其他一些地方”不是问题规范。
  • 所以当我们在寻找闭合轮廓来使用泛洪填充算法时,一些其他的形状比如噪声点也会被认为是闭合的形状来填充。这意味着我们将有一张我在下面发布的图片。
猜你喜欢
  • 2019-12-13
  • 2013-06-22
  • 2021-06-23
  • 1970-01-01
  • 2013-05-08
  • 2020-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多