专利名称:建立图像数据库索引以及图像识别的方法和装置的制作方法
技术领域:
本发明涉及图像处理技术,具体涉及建立图像数据库的方法和装置,还 涉及图像识别的方法和装置。
背景技术:
随着当前计算机技术的迅速发展,计算机处理能力得到了大幅度的提升;与此同时,模式识别、图像处理等领域的相关技术也取得了快速发展。 电视台台标识别,是指运用图像处理的技术提取出电视画面中的电视台 台标图像,并对该台标图像进行识别的过程。目前,图像识另'J领域内主流的电视台台标识别手段通常采用模式识别的 方法即预先将各种台标的图像数据进行模板化处理,将模板化的台标数据 及所述台标位于电视图像中的坐标位置、宽高尺寸、颜色和电视台名称等信 息的组合作为唯一对应于某一个台标的特征信息组保存到特征信息库中;当 进行台标识别时,从所述特征信息库中逐组地取出各个台标的特征信息;根 据特征信息中记录的坐标位置、宽高尺寸和颜色等数据信息,从当前电视图 像中采集待识别图像,将所述待识别图像与该组特征信息中的台标模板进行 模式匹配,得出一个匹配百分比结果;将所述待识别图像与保存的所有台标 模板都执行模式匹配并分别得到对应的匹配百分比结果,然后比较所有的匹 配结果中最高的一个匹配百分比结果是否高于预先设定的阈值(通常也称作 匹配信心阈值或置信概率,例如可以取80%)。如果是,则将具有最高匹配 百分比结果的所述模板所对应的台标作为待识别图像中的台标。使用上述模式识别的方式可以实现台标的识别,但是该方式需要保存台 标模板以及待识别图像中的台标图像中所包含的大量数据,因此所建立的台标图像数据库体积庞大;同时,在进行模式识别的过程中对保存的数据进行 逐项的匹配和比对时,由于台标模板的数量通常并非是一个小数目,因此整 个识别过程常常会耗费相当长的时间才能得到最终结果。发明内容本发明实施例提供 一 种建立图像数据库的方法和装置,能够减少图像数 据库占用的存储资源。本发明实施例还提供一种图像识别的方法和装置,能够以较低的成本实 现快速的图像识别。为达到上述目的的第一个方面,本发明的技术方案具体是这样实现的 1、 一种建立图像数据库索引的方法,该方法包括a、 设置包含所有图像的集合为当前集合;b、 确定当前集合下所有图像中位置完全重叠且彼此颜色存在差异的非 透明区域,并从每一图像的所述非透明区域中,确定至少一个像素点的位置 坐标及颜色作为该图像的索引;其中,每一图像的索引中的位置坐标及颜色 与其他所有图像不全相同。所述步骤b包括从非透明区域中选择一个位置坐标作为有效坐标节点,并按照当前集合 下所有图像在该位置坐标的像素点的颜色生成该有效坐标节点的颜色分枝, 每一颜色分枝分别包含在该有效坐标节点表示的位置坐标处具有该颜色的 像素点的所有图像;其中,仅包含一个图像的颜色分枝、该颜色分枝所在有效坐标节点、该 有效坐标节点的所有上级节点,被记录为该颜色分枝所包括的图像的索引。在所述步骤b之前,该方法进一步包括b0、判断当前集合下所有图像 是否存在位置完全重叠且彼此颜色存在差异的非透明区域;若是,则执行所 述步骤b,否则,设置空节点并生成该空节点的遍历分枝,分别以每一遍历 分枝包含的所有图像为当前集合并继续执行本步骤;且,在所述按照当前集合下所有图像在该位置坐标的像素点的颜色生成 该有效坐标节点的颜色分技之后,所述步骤b进一步包括判断所有颜色分 枝是否均仅包含一个图像,如果是,则结束流程,否则,分别以每一颜色分 枝包含的所有图像为当前集合并返回步骤b0。所述从非透明区域中选择一个位置坐标作为有效坐标节点,并按照当前 集合下所有图像在该位置坐标的像素点的颜色生成该有效坐标节点的颜色分枝包括将所有图像中位置完全重叠且彼此颜色存在差异的非透明区域中的全部像素点作为一个集合T;以集合T中包含的每个像素点的位置坐标作为候选节点,分别计算当前 集合下所有图像在各候选节点处颜色的数量,将对应最少颜色数量的候选节 点作为最终的有效坐标节点,并分别为当前集合下在该有效坐标节点处具有 相同颜色的所有图像生成该颜色对应的颜色分枝。所述设置空节点并生成该空节点的遍历分枝为设置空节点,对当前集合下的各图像,计算存在不透明像素完全重叠且 彼此颜色存在差异的部分的图像所组成的集合中包含的图像个数,为包含图 像个数最多的集合生成遍历分枝;再对当前集合中余下的图像重复执行所迷 计算存在不透明像素完全重叠且彼此颜色存在差异的部分的图像所组成的 集合中包含的图像个数,为包含图像个数最多的集合生成遍历分枝的步骤, 直到当前集合下的所有图像都归入相应的遍历分枝。一种建立图像数据库索引的装置,该装置包括集合初始化模块和索引 建立模块;所述集合初始化模块,用于设置包含所有图像的集合为当前集合; 所述索引建立模块,用于确定当前集合下所有图像位置完全重叠且彼此 颜色存在差异的非透明区域,并从每一图像的所述非透明区域中,确定至少 一个像素点的位置坐标及颜色作为该图像的索引;其中,每一图像的索引中的位置坐标及颜色与其他所有图像不全相同。所述索引建立模块中包含颜色分枝生成单元和索引记录单元;所述颜色分技生成单元,用于从非透明区域中选择一 个位置坐标作为有 效坐标节点,并按照当前集合下所有图像在该位置坐标的像素点的颜色生成 该有效坐标节点的颜色分枝,每一颜色分枝分别包含在该有效坐标节点表示的位置坐标处具有该颜色的像素点的所有图像,然后通知索引记录单元;所述索引记录单元,用于将仅包含一个图像的颜色分枝,该颜色分枝及 其所在的有效坐标节点、该有效坐标节点的所有上级节点,记录为该颜色分 枝所包含的图像的索引。所述建立图像数据库索引的装置进一步包括区域判断模块,所述索引建 立模块中进一步包括遍历分枝生成单元,所述区域判断模块,用于判断当前集合下所有图像是否存在位置完全重 叠且彼此颜色存在差异的非透明区域;若是则将判断结果和所述非透明区域 通知颜色分枝生成单元;否则通知遍历分枝生成单元;所述索引记录单元,进一步用于判断所有颜色分枝是否均仅包含一个图 像,如果是,则完成数据库索引的建立,否则,分别以每一颜色分枝包含的 所有图像为当前集合并通知所述区域判断模块;所述遍历分枝生成单元,用于设置空节点并生成该空节点的遍历分枝, 分别以每一遍历分枝包含的所有图像为当前集合并通知所述区域判断模块。由上述的技术方案可见,本发明实施例的这种建立图像数据库索引的方 法和装置,通过在所有图像中位置完全重叠且彼此颜色存在差异的非透明区 域中选择部分像素点作为各图像在图像数据库中的索引,并对所述索引采用树状结构进行存储,避免了存储图像模板和待识别图像的全部图像数据,从 而建立的图像数据库占用的存储资源大大减少。为达到上述目的的第二个方面,本发明的技术方案具体是这样实现的一种图像识别的方法,该方法包括a、 设置包含所有图像的集合为当前集合;b、 确定当前集合下所有图像中位置完全重叠且彼此颜色存在差异的非透明区域,并从每一图像的所述非透明区域中,确定至少一个像素点的位置 坐标及颜色作为该图像的索引;其中,每一图像的索引中的位置坐标及颜色与其他所有图像不全相同;c、根据待识别图像的索引在图像数据库中查找,将查找到的匹配图像确定为待识別图像的识別结果。所述步骤b包括从非透明区域中选择一个位置坐标作为有效坐标节点,并按照当前集合 下所有图像在该位置坐标的像素点的颜色生成该有效坐标节点的颜色分枝, 每一颜色分枝分别包含在该有效坐标节点表示的位置坐标处具有该颜色的 像素点的所有图像;其中,仅包含一个图像的颜色分枝、该颜色分枝所在有效坐标节点、该 有效坐标节点的所有上级节点,被记录为该颜色分枝所包括的图像的索引。在所述步骤b之前,该方法进一步包括b0、判断当前集合下所有图像 是否存在位置完全重叠且彼此颜色存在差异的非透明区域;若是,则执行所 述步骤b,否则,设置空节点并生成该空节点的遍历分枝,分别以每一遍历 分枝包含的所有图像为当前集合并继续执行本步骤;且,在所述按照当前集合下所有图像在该位置坐标的像素点的颜色生成 该有效坐标节点的颜色分枝之后,所述步骤b进一步包括判断所有颜色分 枝是否均仅包含一个图像,如果是,则结束流程,否则,分别以每一颜色分 枝包含的所有图像为当前集合并返回步骤b0。所述从非透明区域中选择一个位置坐标作为有效坐标节点,并按照当前 集合下所有图像在该位置坐标的像素点的颜色生成该有效坐标节点的颜色 分枝包括将所有图像中位置完全重叠且彼此颜色存在差异的非透明区域中的全 部像素点作为一个集合T;以集合T中包含的每个像素点的位置坐标作为候选节点,分别计算当前 集合下所有图像在各候选节点处颜色的数量,将对应最少颜色数量的候选节点作为最终的有效坐标节点,并分别为当前集合下在该有效坐标节点处具有 相同颜色的所有图像生成该颜色对应的颜色分枝。所述设置空节点并生成该空节点的遍历分枝为设置空节点,对当前集合下的各图像,计算存在不透明像素完全重叠且 彼此颜色存在差异的部分的图像所组成的集合中包含的图像个数,为包含图像个数最多的集合生成遍历分枝;再对当前集合中余下的图像重复执行所述计算存在不透明像素完全重叠且彼此颜色存在差异的部分的图像所组成的 集合中包含的图像个数,为包含图像个数最多的集合生成遍历分枝的步骤, 直到当前集合下的所有图像都归入相应的遍历分枝。所述步骤c为cl、获取待识别图像,设置查询指针,并设置其指向的当前节点为图像数据库的起始节点,然后执行步骤c2;c2、判断当前节点是否为空节点,若是,任选一条该空节点包含的未查 询的遍历分枝设置其指向的节点为当前节点,返回执行步骤c2;否则,根据 当前节点对应的位置坐标,从待识别图像的对应位置处获取颜色信息,然后 执行步骤c3;c3、判断当前节点下是否存在与获取的颜色匹配的颜色分枝若不存在, 则在当前节点属于某个遍历分枝时返回执行步骤c2;若存在,则当所述颜色 分枝包含多个图像时返回执行步骤c2,当所述颜色分枝仅包含 一 个图像时, 该图像即为待识别图像的识别结果。步骤c3中包括当所述当前节点下不存在与获取的颜色匹配的颜色分 枝,且当前节点不属于任何一个遍历分枝时,判定所述图像数据库中不包含 待识别图像。一种图像识别的装置,该装置包括数据库建立模块和图像识别模块; 所述数据库建立模块,用于设置包含所有图像的集合为当前集合;确定 当前集合下所有图像中位置完全重叠且彼此颜色存在差异的非透明区域,并 从每一 图像的所述非透明区域中,确定至少一个像素点的位置坐标及颜色作为该图像的索引;其中,每一图像的索引中的位置坐标及颜色与其他所有图像不全相同;所述图像识別模块,用于根据待识别图像的索引在图像数据库中查找, 将查找到的匹配图像确定为待识别图像的识别结果。所述数据库建立模块包括集合初始化子模块和索引建立子模块;所述集合初始化子模块,用于设置包含所有图像的集合为当前集合;所述索引建立子模块,用于确定当前集合下所有图像位置完全重叠且彼 此颜色存在差异的非透明区域,并从每一图像的所述非透明区域中,确定至 少一个像素点的位置坐标及颜色作为该图像的索引;其中,每一图像的索引 中的位置坐标及颜色与其他所有图像不全相同。所述索引建立子模块中包含颜色分枝生成单元和索引记录单元;所述颜色分枝生成单元,用于从非透明区域中选择一个位置坐标作为有 效坐标节点,并按照当前集合下所有图像在该位置坐标的像素点的颜色生成 该有效坐标节点的颜色分枝,每一颜色分枝分别包含在该有效坐标节点表示 的位置坐标处具有该颜色的像素点的所有图像,然后通知索引记录单元;所述索引记录单元,用于将仅包含一个图像的颜色分枝,该颜色分枝及 其所在的有效坐标节点、该有效坐标节点的所有上级节点,记录为该颜色分 枝所包含的图像的索引。所述数据库建立模块中进一步包括区域判断子模块,所述索引建立子模 块中进一步包括遍历分枝生成单元,所述区域判断子模块,用于判断当前集合下所有图像是否存在位置完全 重叠且彼此颜色存在差异的非透明区域;若是则将判断结果和所述非透明区 域通知颜色分枝生成单元;否则通知遍历分枝生成单元;所述索引记录单元,进一步用于判断所有颜色分枝是否均仅包含一个图 像,如果是,则完成数据库索引的建立,否则,分别以每一颜色分枝包含的 所有图像为当前集合并通知所述区域判断子模块;所述遍历分枝生成单元,用于设置空节点并生成该空节点的遍历分枝,分别以每一遍历分枝包含的所有图像为当前集合并通知所述区域判断单元。 所述图像识别模块包括预处理子模块、节点判断子模块和颜色分枝判 断子模块;所述预处理子模块,用于获取待识别图像,根据数据库建立模块中得到 的数据库索引,设置查询指针并设置其指向的当前节点为图像数据库的起始节点,将当前节点的设置通知节点判断子模块;所述节点判断子模块,用于判断当前节点是否为空节点,若是,逐一将 该空节点包含的未查询的遍历分枝所指向的节点设为当前节点并继续判断所述各节点是否为空节点;否则,根据当前节点对应的位置坐标,从待识别 图像的对应位置处获取颜色信息后通知颜色分枝判断子模块;所述颜色分枝判断子模块,用于判断当前节点下是否存在与获取的颜色 匹配的颜色分枝若不存在,则在当前节点属于某个遍历分枝时通知所述节 点判断子模块;若存在,则当所述颜色分枝包含多个图像时通知所述节点判 断子模块,当所述颜色分枝仅包含一个图像时,得到该图像为待识别图像的 识别结果。由上述的技术方案可见,本发明实施例的这种图像识别的方法和装置, 通过预先在所有图像中位置完全重叠且彼此颜色存在差异的非透明区域中 选择部分像素点作为各图像在图像数据库中的索引,并对所述索引采用树状结构进行存储,从而在对待识别图像进行识别时,不必对待识别图像和已知 图像模板进行全面的像素点比对,而可以通过数据库索引中包含的位置坐标 和该位置坐标处的颜色信息在树状结构的图像数据库中快速定位待识另图 像,能够极大地提高图像识别的速度。
图1为本发明实施例中建立图像数据库的方法的流程示意图。图2为本发明实施例中一个特征序列树的组成结构示意图。图3为本发明实施例中建立图像数据库具体示例的流程示意图。图4为本发明实施例中建立图像数据库的装置的组成结构示意图。图5为本发明实施例中图像识别的方法的流程示意图。图6为本发明实施例中图像识别的装置的组成结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明进一步详细说明。首先,电视台台标具有如下的基本特点1、 电视台台标始终存在于电视画面当中;2、 每个电^L台的台标具有唯一性,不同电^L台的台标各不相同;3、 每个电视台台标在电视画面中的位置始终保持不变;4、 电4^L台台标不随着电^L画面的改变而发生任何变化,因此台标中 不透明像素的颜色值始终保持不变。根椐台标的上述特点,我们可以发现,对于所有需要识别的电视台台标 而言,在电视画面中的一些坐标位置上,各家电视台的台标都存在不透明的 像素点位于这些坐标位置上,并且这些不透明的像素点的颜色也不尽相同。 因此,利用这些坐标位置所标定的像素点就可以将各家电视台的台标进行区 分。在理想情况下,如果在某一个坐标位置上,每一家电视台的台标都各自 具有不同颜色的不透明像素点,则显然对此坐标进行检测就可以 一次将全部 台标区分开来;然而在实际情况下,并不一定存在这种理想的情况,因此更 可能存在的情况是某一个坐标位置上, 一部分电视台的台标具有一种颜色, 而另一部分电视台的台标则为另外一种颜色,当然,也可能还存在更复杂的 情况,比如还有一部分电视台的台标为第三种颜色,或者更多。在这种情况 下,仅在一个坐标位置上无法将全部的台标区分开来,因此需要利用更多的 坐标位置对上述经过了初步分类的台标进行进一步的细分,容易理解,通过 不断重复上述方法,最终就能够将全部台标相互区分开来。因此,本发明引入台标特征序列树的概念,所述特征序列树具有如下特
点
1) 台标特征序列树以坐标位置作为树或者子树的根节点,所述根节点
称为有效坐标节点;以像素的颜色类型作为树的分枝,称为颜色分技;以台 标作为树叶,称为终端节点;
设某节点A,将由该A节点发出的分枝称为属于A节点的分枝或A节 点下的分枝;而将所述分枝所指向的节点(例如由A节点发出两个分枝, 指向节点B和C)称为A节点的下级节点;相应地,A节点就称为节点B、 C的上级节点。
2) 位于台标特征序列树有效坐标节点所表示的坐标位置上的像素,都 属于该台标图像上的不透明像素。因为透明像素的颜色会随着电视画面的变 化而改变,而不透明像素则始终保持不变,因此只有通过检查不透明像素, 才能保证对台标识别的正确性。
3) 在当前台标集合中确定有效坐标节点时,其最优策略是使得该节点 所具有的颜色分枝的数量最少。通过这种方式可以有效地降低树型数据结构 查找过程中的比对次数,提高识别的速度。
4) 在当前台标集合中,在同一个有效坐标节点上都具有不透明像素的 台标,通过不同的颜色分枝,被分到不同的子树下。反之,任何两个终端节 点,如果在它们到达整个台标特征序列树根节点的路径中,共同拥有一段相 同的颜色分枝,则说明它们在该段颜色分枝的有效坐标节点所代表的像素位 置上,具有相同的颜色。
5) 在台标特征序列树上还存在着一种特殊的节点和分枝一一 空节点和 遍历分枝。如果在当前台标集合中,没有任何一个坐标,使得所有的台标都 有不透明像素位于其上或者颜色值不全相同,则为该台标集合生成一个空节 点,该节点不包含像素的坐标值,从该节点引出来的分枝也不再是颜色分枝, 而是遍历分枝。遍历分枝表示采用遍历的方式查找空节点下所有的遍历分枝 所指向的子树,直到以匹配的方式在某一子树中找到台标节点。同时容易理解,上文虽然全部是在就台标图像进行描述,但是由于台标 图像与其它图像的相似性,上述特征序列树的原理同样可以应用于对各种图 像的处理。
根据上述说明,本发明实施例提供一种建立图像数据库的方法,该方法 流程如图1所示,其中包括
步骤101:设置包含所有图像的集合为当前集合;
步骤102:确定当前集合下所有图像中位置完全重叠且彼此颜色存在差 异的非透明区域,并从每一图像的所述非透明区域中,确定至少一个像素点 的位置坐标及颜色作为该图像的索引;其中,每一图像的索引中的位置坐标 及颜色与其他所有图像不全相同。
可见,由于每一图像的索引中的位置坐标及颜色与其他所有图像不全相 同,因而可以根据每一 图像的索引唯一地识别该图像。
需要说明的是,本文所述的彼此颜色存在差异是指在所有图像位置完 全重叠的非透明区域,各图像在该非透明区域的颜色彼此不完全相同。
例如在所述的非透明区域内, 一部分图像的颜色为黑色,另一部分为 红色;或者一部分图像的颜色为黑色,其他图像不为黑色的很多种其他颜色 等。
其中,步骤102具体包括
从非透明区域中选择一个位置坐标作为有效坐标节点,并按照当前集合 下所有图像在该位置坐标的像素点的颜色生成该有效坐标节点的颜色分枝, 每一颜色分枝分别包含在该有效坐标节点表示的位置坐标处具有该颜色的 像素点的所有图像;
其中,仅包含一个图像的颜色分枝、该颜色分枝所在有效坐标节点、该 有效坐标节点的所有上级节点,被记录为该颜色分枝所包括的图像的索引。
在所述步骤102之前,该方法进一步包括
102a、判断当前集合下所有图像是否存在位置完全重叠且彼此颜色存在 差异的非透明区域;若是,则执行所述步骤102,否则,设置空节点并生成
19该空节点的遍历分枝,分别以每一遍历分枝包含的所有图像为当前集合并继 续执行本步骤;
且,在所述按照当前集合下所有图像在该位置坐标的像素点的颜色生成
该有效坐标节点的颜色分枝之后,所述步骤102进一步包括判断所有颜色
分枝是否均仅包含一个图像,如果是,则结束流程,否则,分别以每一颜色
分枝包含的所有图像为当前集合并返回步骤102a。
较佳地,为了使生成的颜色分枝的数目最少,所述从非透明区域中选择一 个位置坐标作为有效坐标节点,并按照当前集合下所有图像在该位置坐标的像 素点的颜色生成该有效坐标节点的颜色分枝包括
将不透明像素完全重叠且彼此颜色存在差异的部分中的全部像素点作为一 个集合T;
以集合T中包含的每个像素点的位置坐标作为候选节点,分别计算当前集 合下所有图像在各候选节点处颜色的数量,将对应最少颜色数量的候选节点作 为最终的有效坐标节点,并分别为当前集合下在该有效坐标节点处具有相同颜 色的所有图像生成该颜色对应的颜色分枝。
较佳地,为了使生成的遍历分枝的数目最少,所述设置空节点并生成该空 节点的遍历分枝可以为
对当前集合下的各图像,计算存在不透明像素完全重叠且彼此颜色存在差 异的部分的图像所组成的集合中包含的图像个数,为包含图像个数最多的集合 生成遍历分枝;再对当前集合中余下的图像重复执行所述计算存在不透明像素 完全重叠且彼此颜色存在差异的部分的图像所组成的集合中包含的图像个数, 为包含图像个数最多的集合生成遍历分枝的步骤,直到当前集合下的所有图像 都归入相应的遍历分枝。
图2示出了一个特征序列树的具体组成结构,其中(Xi,Yi)为有效坐 标节点i=l,2,...6,每个有效节点向下级节点延伸的分枝均为颜色分枝(实线 所示箭头);而每个空节点(包括空节点1和2)向下级节点延伸的分枝均 为遍历分枝(虛线所示箭头);台标j (j=l,2,...9)为终端节点,每个终端节点唯一标识一个台标。
下面结合图2示出的特征序列树的结构,对本发明提供的建立图像数据 库的方法进行进一步具体说明,流程如图3所示,其中包括
步骤300:收集各个频道的台标数据,所述台标数据包含各个台标中不 透明像素点在电视画面中的位置坐标、颜色及所代表的频道信息,继续执行 步骤310;
步骤310:判断当前集合中的所有台标的不透明像素坐标是否存在完全 重叠的部分且颜色不完全相同,如果是,执行步骤311,否则执行步骤316;
步骤311:将完全重叠的像素坐标作为一个集合T,取集合T中的任一 个像素坐标作为候选节点,继续执行步骤312;
步骤312:计算使用该候选节点作为根节点的情况下生成的颜色分枝的 数量,继续执行步骤313;
步骤313:判断是否遍历完集合T中的所有像素坐标,如果是,执行步 骤315,否则执行步骤314;
步骤314:设置下一个坐标像素为候选节点,返回步骤312;
步骤315:选择包含颜色分枝数量最少的候选节点作为最终的有效坐标 节点,按照该节点生成颜色分枝并继续执行步骤320;
步骤316:生成空节点,继续执行步骤317;
步骤317:从当前集合下未分配的台标中,寻找不透明像素坐标完全重 叠且重叠部分颜色不完全相同的组成最大台标子集,继续执行步骤318;
步骤318:为选定的台标子集生成遍历分枝,继续执行步骤319;
步骤319:判断生成的遍历分枝是否包含了当前集合下的全部台标,如 果是,执行步骤320,否则返回步骤317;
步骤320:遍历当前集合下的全部分枝,继续执行步骤321;
步骤321:判断该分枝下是否只包含一个台标,如果是,执行步骤323, 否则执行步骤322;
步骤322:设定当前分枝下包含的所有台标的集合为当前集合,返回步骤310;
步骤323:生成该台标的终端节点,继续执行步骤324;
步骤324:判断是否遍历完当前集合下的全部分枝,如果是,执行步骤 325,否则返回步骤320;
步骤325:判断当前分枝所在节点是否为特征序列树的根节点,如果是, 执行步骤327,否则执行步骤326;
步骤326:返回上级节点,设置上级节点的未处理分枝下包含的所有台 标的集合为当前集合,返回步骤310;
步骤327:结束流程,完成图像数据库的建立。
本发明实施例还提供一种建立图像数据库的装置,其组成结构如图4所 示,其中包括集合初始化模块410和索引建立模块420;
所述集合初始化模块410,用于设置包含所有图像的集合为当前集合;
所述索引建立模块420,用于确定当前集合下所有图像位置完全重叠且 彼此颜色存在差异的非透明区域,并从每一图像的所述非透明区域中,确定 至少一个像素点的位置坐标及颜色作为该图像的索引;其中,每一图像的索 引中的位置坐标及颜色,不同于其他所有图像。
所述索引建立模块420中包含颜色分枝生成单元421和索引记录单元
422;
所述颜色分枝生成单元421,用于从非透明区域中选择一个位置坐标作 为有效坐标节点,并按照当前集合下所有图像在该位置坐标的像素点的颜色 生成该有效坐标节点的颜色分枝,每一颜色分枝分别包含在该有效坐标节点 表示的位置坐标处具有该颜色的像素点的所有图像,然后通知索引记录单元 422;
所述索引记录单元422,用于将仅包含一个图像的颜色分枝,该颜色分 枝及其所在的有效坐标节点、该有效坐标节点的所有上级节点,记录为该颜 色分枝所包含的图像的索引;
所述建立图像数据库的装置中进一步包括区域判断模块430,所述索引建立模块420中进一步包括遍历分枝生成单元423;
所述区域判断模块430,用于判断当前集合下所有图像是否存在位置完全 重叠且彼此颜色存在差异的非透明区域;若是则将判断结果和所述非透明区域 通知颜色分枝生成单元421;否则通知遍历分枝生成单元423;
所述索引记录单元422,进一步用于判断所有颜色分枝是否均仅包含一个 图像,如果是,则完成数据库索引的建立,否则,分别以每一颜色分枝包含的 所有图像为当前集合并通知所述区域判断模块430;
所述遍历分枝生成单元423,用于设置空节点并生成该空节点的遍历分 枝,分别以每一遍历分枝包含的所有图像为当前集合并通知所述区域判断模 块430。
由上述可见,本发明实施例提供的建立图像数据库索引的方法和装置, 通过在所有图像中位置完全重叠且彼此颜色存在差异的非透明区域中选择 部分像素点作为各图像在图像数据库中的索引,并对所述索引采用树状结构 进行存储,避免了存储图像模板和待识别图像的全部图像数据,从而建立的 图像数据库占用的存储资源大大减少。
根据所述方案建立的图像数据库,本发明实施例进一步提出一种基于所 述图像数据库进行图像识别的方法,流程如图5所示,其中包括
步骤501:设置包含所有图像的集合为当前集合;
步骤502:确定当前集合下所有图像中位置完全重叠且彼此颜色存在差 异的非透明区域,并从每一图像的所述非透明区域中,确定至少一个像素点 的位置坐标及颜色作为该图像的索引;其中,每一图像的索引中的位置坐标
及颜色与其他所有图像不全相同;
步骤503:根据待识别图像的索引在图像数据库中查找,将查找到的匹 配图像确定为待识别图像的识别结果。
其中,步骤501和步骤502为建立图像数据库索引的步骤,步骤503为 图像识别的步骤。所述建立图像数据库索引的步骤与图l所示的方法相同, 故此处不再赘述。而步骤503则具体包括
cl、获取待识别图像,设置查询指针,并设置其指向的当前节点为图像 数据库的起始节点,然后执行步骤c2;
c2、判断当前节点是否为空节点,若是,任选一条该空节点包含的未查 询的遍历分枝设置其指向的节点为当前节点,返回执行步骤c2;否则,根据 当前节点对应的位置坐标,从待识别图像的对应位置处获取颜色信息,然后 执行步骤c3;
c3、判断当前节点下是否存在与获取的颜色匹配的颜色分枝若不存在, 则在当前节点属于某个遍历分枝时返回执行步骤c2;若存在,则当所述颜色 分枝包含多个图像时返回执行步骤c2,当所述颜色分枝仅包含一个图像时, 该图像即为待识别图像的识别结果。
较佳地,在步骤c3中进一步包括当所述当前节点下不存在与获取的 颜色匹配的颜色分枝,且当前节点不属于任何一个遍历分枝时,判定所述图 像数据库中不包含待识别图像。
采用现有技术下的识别方法,假设待识别图像当中包含500个像素,数 据库中保存有IOO个已知图像的模板,则每次比对识别,都需要经过50000 次的像素比较才能得到最终结果;而采用本发明实施例所提供的图像识别的 方法,即使在最坏的情况下,也仅需要IOO次像素比较,即可得到识别结果。 可见,本发明实施例所提供的图像识别的方法在速度最慢的情况下,仍然是 现有识别速度的500倍。
本发明实施例还提供一种图像识别的装置,组成结构如图6所示,其中 包括数据库建立模块610和图像识别模块620;
所述数据库建立模块610,用于设置包含所有图像的集合为当前集合; 确定当前集合下所有图像中位置完全重叠且彼此颜色存在差异的非透明区 域,并从每一图像的所述非透明区域中,确定至少一个像素点的位置坐标及 颜色作为该图像的索引;其中,每一图像的索引中的位置坐标及颜色与其他 所有图像不全相同;所述图像识别模块620,用于根据待识别图像的索引在图像数据库中查 找,将查找到的匹配图像确定为待识别图像的识别结果。
所述数据库建立模块610包括集合初始化子模块611和索引建立子模 块612;
所述集合初始化子模块611,用于设置包含所有图像的集合为当前集合; 所述索引建立子模块612,用于确定当前集合下所有图像位置完全重叠 且彼此颜色存在差异的非透明区域,并从每一图像的所述非透明区域中,确 定至少一个像素点的位置坐标及颜色作为该图像的索引;其中,每一图像的 索引中的位置坐标及颜色与其他所有图像不全相同。
所述索引建立子模块612中包含颜色分枝生成单元614和索引记录单元
615;
所述颜色分枝生成单元614,用于从非透明区域中选择一个位置坐标作 为有效坐标节点,并按照当前集合下所有图像在该位置坐标的像素点的颜色 生成该有效坐标节点的颜色分枝,每一颜色分枝分别包含在该有效坐标节点 表示的位置坐标处具有该颜色的像素点的所有图像,然后通知索引记录单元 615;
所述索引记录单元615,用于将仅包含一个图像的颜色分枝,该颜色分 枝及其所在的有效坐标节点、该有效坐标节点的所有上级节点,记录为该颜 色分枝所包含的图像的索引。
所述数据库建立模块610中进一步包括区域判断子模块613,所述索引 建立子模块612中进一步包括遍历分枝生成单元616;
所述区域判断子模块613,用于判断当前集合下所有图像是否存在位置 完全重叠且彼此颜色存在差异的非透明区域;若是则将判断结果和所述非透 明区域通知颜色分枝生成单元614;否则通知遍历分枝生成单元616;
所述索引记录单元615,进一步用于判断所有颜色分枝是否均仅包含一个 图像,如果是,则完成数据库索引的建立,否则,分别以每一颜色分枝包含的 所有图像为当前集合并通知所述区域判断模块613;所述遍历分枝生成单元616,用于设置空节点并生成该空节点的遍历分 枝,分别以每一遍历分枝包含的所有图像为当前集合并通知所述区域判断单
元613。
所述图像识别模块620包括预处理子模块621、节点判断子模块622 和颜色分枝判断子模块623;
所述预处理子模块621,用于获取待识别图像,根据数据库建立模块610 中得到的数据库索引,设置查询指针并设置其指向的当前节点为数据库索引 的起始节点,将当前节点的设置通知节点判断子模块622;
所述节点判断子模块622,用于判断当前节点是否为空节点,若是,逐 一将该空节点包含的未查询的遍历分枝所指向的节点设为当前节点并继续 判断所述各节点是否为空节点;否则,根据当前节点对应的位置坐标,从待 识别图像的对应位置处获取颜色信息后通知颜色分枝判断子模块623;
所述颜色分枝判断子模块623,用于判断当前节点下是否存在与获取的 颜色匹配的颜色分枝若不存在,则在当前节点属于某个遍历分枝时通知所 述节点判断子模块622;若存在,则当所述颜色分枝包含多个图像时通知所 述节点判断子模块622,当所述颜色分枝仅包含一个图像时,得到该图像为 待识别图像的识别结果。
由上述说明可见,本发明实施例提供的图像识别的方法,通过预先在所 有图像中位置完全重叠且彼此颜色存在差异的非透明区域中选择部分像素 点作为各图像在图像数据库中的索引,并对所述索引采用树状结构进行存 储,从而在对待识别图像进行识别时,不必对待识别图像和已知图像模板进 行全面的像素点比对,而可以通过数据库索引中包含的位置坐标和该位置坐 标处的颜色信息在树状结构的图像数据库中快速定位待识别图像,能够极大 地提高图像识别的速度。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的精神和保护 范围,任何熟悉本领域的技术人员所做出的等同变化或替换,都应视为涵盖 在本发明的保护范围之内。
权利要求
1、一种建立图像数据库索引的方法,其特征在于,该方法包括a、设置包含所有图像的集合为当前集合;b、确定当前集合下所有图像中位置完全重叠且彼此颜色存在差异的非透明区域,并从每一图像的所述非透明区域中,确定至少一个像素点的位置坐标及颜色作为该图像的索引;其中,每一图像的索引中的位置坐标及颜色与其他所有图像不全相同。
2、 如权利要求l所述的方法,其特征在于,所述步骤b包括 从非透明区域中选择一个位置坐标作为有效坐标节点,并按照当前集合下所有图像在该位置坐标的像素点的颜色生成该有效坐标节点的颜色分枝,每一 颜色分枝分别包含在该有效坐标节点表示的位置坐标处具有该颜色的像素点的 所有图像;其中,仅包含一个图像的颜色分枝、该颜色分枝所在有效坐标节点、该有 效坐标节点的所有上级节点,被记录为该颜色分枝所包括的图像的索引。
3、 根据权利要求2所述的方法,其特征在于,在所述步骤b之前,该方法 进一步包括b0、判断当前集合下所有图像是否存在位置完全重叠且彼此颜色 存在差异的非透明区域;若是,则执行所述步骤b,否则,设置空节点并生成 该空节点的遍历分枝,分别以每一遍历分枝包含的所有图像为当前集合并继续 执行本步骤;且,在所述按照当前集合下所有图像在该位置坐标的像素点的颜色生成该 有效坐标节点的颜色分枝之后,所述步骤b进一步包括判断所有颜色分枝是 否均仅包含一个图像,如果是,则结束流程,否则,分别以每一颜色分枝包含 的所有图像为当前集合并返回步骤bO。
4、 根据权利要求3所述的方法,其特征在于,所述从非透明区域中选择一 个位置坐标作为有效坐标节点,并按照当前集合下所有图像在该位置坐标的像 素点的颜色生成该有效坐标节点的颜色分枝包括将所有图像中位置完全重叠且彼此颜色存在差异的非透明区域中的全部像素点作为一个集合T;以集合T中包含的每个像素点的位置坐标作为候选节点,分别计算当前集 合下所有图像在各候选节点处颜色的数量,将对应最少颜色数量的候选节点作 为最终的有效坐标节点,并分别为当前集合下在该有效坐标节点处具有相同颜 色的所有图像生成该颜色对应的颜色分枝。
5、 根据权利要求4所述的方法,其特征在于,所述设置空节点并生成该空 节点的遍历分枝为设置空节点,对当前集合下的各图像,计算存在不透明像素完全重叠且彼 此颜色存在差异的部分的图像所组成的集合中包含的图像个数,为包含图像个 数最多的集合生成遍历分枝;再对当前集合中余下的图像重复执行所述计算存 在不透明像素完全重叠且彼此颜色存在差异的部分的图像所组成的集合中包含 的图像个数,为包含图像个数最多的集合生成遍历分枝的步骤,直到当前集合 下的所有图像都归入相应的遍历分枝。
6、 一种建立图像数据库索引的装置,其特征在于,该装置包括集合初始 化模块和索引建立模块;所述集合初始化模块,用于设置包含所有图像的集合为当前集合; 所述索引建立模块,用于确定当前集合下所有图像位置完全重叠且彼此颜 色存在差异的非透明区域,并从每一图像的所述非透明区域中,确定至少一个 像素点的位置坐标及颜色作为该图像的索引;其中,每一图像的索引中的位置 坐标及颜色与其他所有图^f象不全相同。
7、 根据权利要求6所述的装置,其特征在于,所述索引建立模块中包含颜 色分枝生成单元和索引记录单元;所述颜色分枝生成单元,用于从非透明区域中选择一个位置坐标作为有效 坐标节点,并按照当前集合下所有图像在该位置坐标的像素点的颜色生成该有 效坐标节点的颜色分枝,每一颜色分枝分别包含在该有效坐标节点表示的位置 坐标处具有该颜色的像素点的所有图像,然后通知索引记录单元;所述索引记录单元,用于将仅包含一个图像的颜色分枝,该颜色分枝及其 所在的有效坐标节点、该有效坐标节点的所有上级节点,记录为该颜色分枝所 包含的图像的索引。
8、 根据权利要求7所述的装置,其特征在于,该装置进一步包括区域判断 模块,所述索引建立模块中进一步包括遍历分枝生成单元,所述区域判断模块,用于判断当前集合下所有图像是否存在位置完全重叠且彼此颜色存在差异的非透明区域;若是则将判断结果和所述非透明区域通知 颜色分枝生成单元;否则通知遍历分枝生成单元;所述索引记录单元,进一步用于判断所有颜色分枝是否均仅包含一个图像, 如果是,则完成数据库索引的建立,否则,分别以每一颜色分枝包含的所有图 像为当前集合并通知所述区域判断模块;所述遍历分枝生成单元,用于设置空节点并生成该空节点的遍历分枝,分 别以每一遍历分枝包含的所有图像为当前集合并通知所述区域判断模块。
9、 一种图像识别的方法,其特征在于,该方法包括a、 设置包含所有图像的集合为当前集合;b、 确定当前集合下所有图像中位置完全重叠且彼此颜色存在差异的非透明 区域,并从每一图像的所述非透明区域中,确定至少一个像素点的位置坐标及 颜色作为该图像的索引;其中,每一图像的索引中的位置坐标及颜色与其他所 有图像不全相同;c、 根据待识别图像的索引在图像数据库中查找,将查找到的匹配图像确定 为待识别图像的识别结果。
10、 根据权利要求9所述的方法,其特征在于,所述步骤b包括从非透明区域中选择一个位置坐标作为有效坐标节点,并按照当前集合下 所有图像在该位置坐标的像素点的颜色生成该有效坐标节点的颜色分枝,每一 颜色分枝分别包含在该有效坐标节点表示的位置坐标处具有该颜色的像素点的 所有图像;其中,仅包含一个图像的颜色分枝、该颜色分枝所在有效坐标节点、该有效坐标节点的所有上级节点,被记录为该颜色分枝所包括的图像的索引。
11、 根据权利要求IO所述的方法,其特征在于,在所述步骤b之前,该方法进一步包括b0、判断当前集合下所有图像是否存在位置完全重叠且彼此颜 色存在差异的非透明区域;若是,则执行所述步骤b,否则,设置空节点并生 成该空节点的遍历分枝,分别以每一遍历分枝包含的所有图像为当前集合并继 续执行本步骤;且,在所述按照当前集合下所有图像在该位置坐标的像素点的颜色生成该 有效坐标节点的颜色分枝之后,所述步骤b进一步包括判断所有颜色分枝是 否均仅包含一个图像,如果是,则结束流程,否则,分別以每一颜色分枝包含 的所有图像为当前集合并返回步骤b0。
12、 根据权利要求11所述的方法,其特征在于,所述从非透明区域中选择 一个位置坐标作为有效坐标节点,并按照当前集合下所有图像在该位置坐标的 像素点的颜色生成该有效坐标节点的颜色分枝包括将所有图像中位置完全重叠且彼此颜色存在差异的非透明区域中的全部像 素点作为一个集合T;以集合T中包含的每个像素点的位置坐标作为候选节点,分别计算当前集 合下所有图像在各候选节点处颜色的数量,将对应最少颜色数量的候选节点作 为最终的有效坐标节点,并分别为当前集合下在该有效坐标节点处具有相同颜 色的所有图像生成该颜色对应的颜色分枝。
13、 根据权利要求12所述的方法,其特征在于,所述设置空节点并生成该 空节点的遍历分枝为设置空节点,对当前集合下的各图像,计算存在不透明像素完全重叠且彼 此颜色存在差异的部分的图像所组成的集合中包含的图像个数,为包含图像个 数最多的集合生成遍历分枝;再对当前集合中余下的图像重复执行所述计算存 在不透明像素完全重叠且彼此颜色存在差异的部分的图像所组成的集合中包含 的图像个数,为包含图像个数最多的集合生成遍历分枝的步骤,直到当前集合 下的所有图像都归入相应的遍历分枝。
14、 根据权利要求13所述的方法,其特征在于,所述步骤c为cl、获取待识别图像,设置查询指针,并设置其指向的当前节点为图像数 据库的起始节点,然后执行步骤c2;c2、判断当前节点是否为空节点,若是,任选一条该空节点包含的未查询 的遍历分枝设置其指向的节点为当前节点,返回执行步骤c2;否则,根据当前 节点对应的位置坐标,从待识别图像的对应位置处获取颜色信息,然后执行步 骤c3;c3、判断当前节点下是否存在与获取的颜色匹配的颜色分枝若不存在, 则在当前节点属于某个遍历分枝时返回执行步骤c2;若存在,则当所述颜色分 枝包含多个图像时返回执行步骤c2,当所述颜色分枝仅包含一个图像时,该图 像即为待识别图像的识别结果。
15、 根据权利要求14所述的方法,其特征在于,步骤c3中包括当所述 当前节点下不存在与获取的颜色匹配的颜色分枝,且当前节点不属于任何一个 遍历分枝时,判定所述图像数据库中不包含待识别图像。
16、 一种图像识别的装置,其特征在于,该装置包括数据库建立模块和 图像识别模块;所述数据库建立模块,用于设置包含所有图像的集合为当前集合;确定当 前集合下所有图像中位置完全重叠且彼此颜色存在差异的非透明区域,并从每 一图像的所述非透明区域中,确定至少一个像素点的位置坐标及颜色作为该图 像的索引;其中,每一图像的索引中的位置坐标及颜色与其他所有图像不全相 同;所述图像识别模块,用于根据待识别图像的索引在图像数据库中查找,将 查找到的匹配图像确定为待识别图像的识别结果。
17、 根据权利要求16所述的装置,其特征在于,所述数据库建立模块包括 集合初始化子模块和索引建立子模块;所述集合初始化子模块,用于设置包含所有图像的集合为当前集合; 所述索引建立子模块,用于确定当前集合下所有图像位置完全重叠且彼此颜色存在差异的非透明区域,并从每一图像的所述非透明区域中,确定至少一个像素点的位置坐标及颜色作为该图像的索引;其中,每一图像的索引中的位 置坐标及颜色与其他所有图像不全相同。
18、 根据权利要求17所述的装置,其特征在于,所述索引建立子模块中包 含颜色分枝生成单元和索引记录单元;所述颜色分枝生成单元,用于从非透明区域中选择一个位置坐标作为有效 坐标节点,并按照当前集合下所有图像在该位置坐标的像素点的颜色生成该有 效坐标节点的颜色分枝,每一颜色分枝分别包含在该有效坐标节点表示的位置 坐标处具有该颜色的像素点的所有图像,然后通知索引记录单元;所述索引记录单元,用于将仅包含一个图像的颜色分枝,该颜色分枝及其 所在的有效坐标节点、该有效坐标节点的所有上级节点,记录为该颜色分枝所 包含的图像的索引。
19、 根据权利要求18所述的装置,其特征在于,所述数据库建立模块中进 一步包括区域判断子模块,所述索引建立子模块中进一步包括遍历分枝生成单 元,所述区域判断子模块,用于判断当前集合下所有图像是否存在位置完全重 叠且彼此颜色存在差异的非透明区域;若是则将判断结果和所述非透明区域通 知颜色分枝生成单元;否则通知遍历分枝生成单元;所述索引记录单元,进一步用于判断所有颜色分枝是否均仅包含一个图像, 如果是,则完成数据库索引的建立,否则,分别以每一颜色分枝包含的所有图 像为当前集合并通知所述区域判断子模块;所述遍历分枝生成单元,用于设置空节点并生成该空节点的遍历分枝,分 别以每一遍历分枝包含的所有图像为当前集合并通知所述区域判断单元。
20、 根据权利要求19所述的装置,其特征在于,所述图像识别模块包括 预处理子模块、节点判断子模块和颜色分枝判断子模块;所述预处理子模块,用于获取待识别图像,根据数据库建立模块中得到的 数据库索引,设置查询指针并设置其指向的当前节点为图像数据库的起始节点,将当前节点的设置通知节点判断子模块;所述节点判断子模块,用于判断当前节点是否为空节点,若是,逐一将该 空节点包含的未查询的遍历分枝所指向的节点设为当前节点并继续判断所述各 节点是否为空节点;否则,根据当前节点对应的位置坐标,从待识别图像的对应位置处获取颜色信息后通知颜色分枝判断子模块;所述颜色分枝判断子模块,用于判断当前节点下是否存在与获取的颜色匹配的颜色分枝若不存在,则在当前节点属于某个遍历分枝时通知所述节点判 断子模块;若存在,则当所述颜色分枝包含多个图像时通知所述节点判断子模 块,当所述颜色分枝仅包含一个图像时,得到该图像为待识别图像的识别结果。
全文摘要
本发明公开了一种建立图像数据库索引的方法,包括设置包含所有图像的集合为当前集合;确定当前集合下所有图像中位置完全重叠且彼此颜色存在差异的非透明区域,并从每一图像的所述非透明区域中,确定至少一个像素点的位置坐标及颜色作为该图像的索引。本发明还公开了一种建立图像数据库索引的装置,包括集合初始化模块和索引建立模块。本发明实施例提供的建立图像数据库索引的方法和装置,能够减少图像数据库占用的存储资源。本发明还同时公开了一种图像识别的方法和装置,可以通过数据库索引中包含的位置坐标和该位置坐标处的颜色信息在树状结构的图像数据库中快速定位待识别图像,极大地提高图像识别的速度。
文档编号G06F17/30GK101295317SQ20081011532
公开日2008年10月29日 申请日期2008年6月20日 优先权日2008年6月20日
发明者群 付, 律 谢 申请人:北京中星微电子有限公司