图像中如何去除孤立的点

来源:百度知道 编辑:UC知道 时间:2024/05/26 06:50:04
我需要去除一张二值图像中孤立出来的黑点,和填充黑色类圆图形中的白点为黑色。
请高人指点一个算法实现此功能。有代码最好!

谢!!

编写个扫描程序,设定当像素为1的点周围一个矩形面积内的点像素不为一时设此点像素为0,或者有个自编的程序直接就把想去掉的点擦掉,类似photoshop的仿制图章。

  去掉白点应该用非常小的结构元素(比如2×2)做开运算,这样可以减小对图像其他部分的影响。
  如果原图是不是二值图像的话可以先试试中值滤波一下看看效果。
  如果想处理问题中的二值图像,可以试试连通区域检测算法,统计各个连通区域的面积,然后将面积很小的白色连通区域填充为黑色。

判断黑点周围的8个点有没有黑色的,如果没有表示该黑点是孤立黑点,把该点改成白色即可.
如果是填充黑色就用递归方法,
(1)先把某点(你要填充的图形内部一点)置黑色,再判断相邻4个点是不是白色,如果是白色则递归调用(1),是黑色则本次递归结束.

去除孤立点 可以用邻域点是否为黑点来判断,如果全都是白点,那就是孤立黑点,直接置255即可