0

我有带有索引颜色的分割蒙版。不幸的是,物体边缘存在(彩色)噪声。在从一个颜色区域过渡到下一个颜色区域时,有不同颜色的小像素区域,将两个颜色区域分开(由转换边缘处的透明像素引起)。

见图片:带噪声的分割

我想通过分配相邻大区域之一的颜色来消除这种噪声(使用 MATLAB)。没关系,主要的事情是去除小区域。可以假设以这种方式可以移除任何颜色的小区域(重新分配给相邻的大区域)。

如果是二值图像,我可以使用bwareaopen(在此问答中建议:删除图像中的小块标签)。将图像转换为每种颜色的二值图像可能是一种解决方法,但是这很昂贵(对于许多颜色)并且留下了重新分配的问题。我希望有更优雅的方法来做到这一点。

4

1 回答 1

1

检查以下内容:

  • 将 RGB 转换为索引图像。
  • 在索引地图上应用中值过滤器。
  • 转换回 RGB

RGB = imread('GylzKm.png');

%Convert RGB to indexed image with 4 levels
[X, map] = rgb2ind(RGB, 4);

%Apply median filter on 4 levels images
X = medfilt2(X, [5, 5]);

%Convert indexed image back to RGB.
J = ind2rgb(X, map);

figure;imshow(J);

黑色边框有点问题。

在此处输入图像描述

于 2016-08-29T16:32:56.117 回答