【问题标题】:How can I extract objects from a bitmap image?如何从位图图像中提取对象?
【发布时间】:2010-05-20 00:09:21
【问题描述】:

我有一个黑色背景的位图和一些白色的随机对象。如何识别这些单独的对象并从位图中提取它们?

【问题讨论】:

  • 请发布您目前尝试过的代码。

标签: c# image-processing


【解决方案1】:

如果像素是黑色或白色,则在图像中找到连接的白色像素坐标应该非常简单。开始逐行扫描像素,直到找到一个白色像素。跟踪你在哪里找到它,创建一个新的数据结构来保存它的连接对象。从该像素到其周围像素进行递归搜索,将每个连接的白色像素的坐标添加到数据结构中。当您的搜索找不到更多连接的白色像素“结束”该对象时。返回您开始的位置并继续扫描像素。每次您找到一个白色像素时,请查看它是否在您现有的“对象”之一中。如果没有,请创建一个新对象并重复搜索,同时添加连接的白色像素。完成后,您应该有一组表示连接的白色像素集合的数据结构。这些是你的对象。如果您需要识别它们是什么或将它们简化为形状,则需要进行一些谷歌搜索——我无法帮助您。我已经很久没有参加计算机视觉课程了。

【讨论】:

    【解决方案2】:

    特征提取是一个非常复杂的话题,您的问题并未暴露您面临的问题以及您要提取的对象的性质。

    通常morphological operators 对此类问题有很大帮助(减少噪音,填补空白,...)我希望你已经发现了AForge。在你重新发明轮子之前,先看看它。形状识别或斑点分析是热门作品,您可以在 google 中查看以获取解决问题的一些想法。

    【讨论】:

      【解决方案3】:

      CodeProject 上有几篇文章介绍了这些类型的图像过滤器。不幸的是,我不知道它们是如何工作的(如果我这样做了,答案可能在这里太长了;P)。

      【讨论】:

        【解决方案4】:

        1) 使物体看起来“更好”的形态学操作
        2) 分割
        3)分类

        每个主题都是一个大主题。有简单的方法,但你的描述不是太详细......

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-02-17
          • 2011-07-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-29
          • 1970-01-01
          相关资源
          最近更新 更多