本文主题

      由于研究方向是计算机图像处理方面的内容,现在正在做一个关于图像分割方面的研究。从原始图片中将目标图像分割出来的工作基本上已经完成,现在做的是对目标图像进行编号,我使用的是四临域的标号算法,该算法是自己实现的,但是现在存在一个问题是:目标图像计数不能覆盖全部目标图像,有一部分被漏掉了。现在把实验结果和算法实现的思路发布出来,如果那位做这个方面或者有好的想法,请留言探讨。

原始图像与分割后的图像

这是用分割算法从原始图像得到的目标图像,如下:

image

分割后的图像(黑色为目标图像,白色为背景):

image

目标计数算法实现思路(目前思路,计数不准确)

1.算法采用四邻域判定法。

对于图像中每一个像素值为目标像素值的点,采用如下的判别方法:

      分别遍历该点的左边点和上边点,如果左边和上边点均为背景点,则标识为新的编号,如果左边点和上边点其中有一个点的像素值不是背景点,则使用此点的编号作为当前点的编号,如果左边点和上边点均不为背景点,则按照两个点中最小的编号对左边点、上边点和当前点进行编号。

2.编号修订

     对于图像中的每一个目标点采用如下算法修订:

    遍历目标点的上、下、左、右四个邻接点,如果四个邻接点都为背景点,则该点的编号不需要修订。如果四点中至少有一个点为目标点,则对这些目标点和当前点进行排序,找到其中最小的编号,并将所有的目标点的编号修正为该最小的编号。

3.计数过程

  遍历图像中的每一个目标点,在这里要维护一个编号的数组A,如果遇到一个编号在A中不存在,则认为是还没有进行文字编号的,对图像上该点进行写编号操作,并将该点加入数组。

完成后的效果

image

说明:上图中大多数的目标已经被编号,但是还有一部分没有被编号,现在的问题是搞不清楚在那个环节出了问题,是算法的问题?还是编号判定方面的问题?现在正在苦闷中。。。。

作者: 一个无聊的人 发表于 2011-08-31 10:19 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"