如何删除/平滑java中绘图字符边界的噪点

时间:2016-10-09 10:19:27

标签: java image-processing

我正在Java gui component上通过光标运动生成下面的图像。在进一步处理之前,我将此图像转换为二值图像2D阵列。如您所见,绘图边界上有粗糙/有噪声的像素。将图像转换为二维二进制数组后,如何删除或平滑这些像素?

enter image description here

由于我无法对算法进行建模,因此我无法编写代码。为了给你更好的想法,我添加下面的图片显示2D图像阵列。指向的1是防止我的图像平滑。

enter image description here

1 个答案:

答案 0 :(得分:0)

您应该使用椭圆的结构元素进行形态学闭合。

您可以在opencv for java中找到一个实现。

结果如下:

Before applying Closing

After applying Closing

Psudo代码:

  1. 阅读图片

    I = imread(filePath,0);

  2. 获取结构元素

    Se = getStructuringElement(MORPH_ELLIPSE,Size(7,7));

  3. 运行关闭操作

    morphologyEx(SRC,ISmooth,MORPH_CLOSE,硒);