算法,图像处理,洪水填充

时间:2014-04-15 10:56:12

标签: java image algorithm image-processing

我正在尝试处理X射线图像。

canny filter + erosion

任务是将每个骨骼绘制成不同的颜色。我使用canny过滤器,otsu二值化和形态图像处理(如侵蚀)来获得这种效果:

canny filter + erosion

现在我需要找到一种算法来为每个骨骼着色。我正在考虑使用连接组件标签或泛洪填充,但这些算法需要填充颜色的封闭区域,但在我的图像中,还有几乎关闭的"区域到颜色。我试图关闭每根骨头"有扩张但它不起作用。

现在我完全不知道该怎么做以及如何给骨头上色。

2 个答案:

答案 0 :(得分:0)

您可以尝试对图像进行矢量化。我做了类似的事情,在运行简单的矢量化之后,连接的组件很容易填充。

您可以通过例如直接向您的输入进行矢量化。在它上面运行游行广场。它还会创建边缘图像。

答案 1 :(得分:0)

虽然这可能并不是您要找的确切内容,但我还是建议您使用一种简单的边缘查找算法。我这样做的方法(可能不是最有效的方法中的最好方法)是将图像提取到2D像素数组中。您可以做的是将每个像素的RGB值与其相邻像素进行比较,如果差异较大,则将其着色为更亮的颜色。要计算差异,可以使用2D勾股距离公式的3D版本。找到RGB值之间的“距离”,然后将其乘以使其保持在0到255之间,然后将要与之比较的像素替换为周围像素的像素,该像素必须是该8个周围像素的平均值。

如果正确完成此操作,它将产生与您在此处显示的结果类似的结果,如果不相同的话。