将图像与噪声进行模板匹配的最佳方法是什么?

时间:2014-03-11 08:15:06

标签: opencv python-2.7 image-processing computer-vision

我有一个大图像(5400x3600),我需要检测多个CCTV。

检测需要花费大量时间(4-7分钟)进行旋转。但它仍无法解决某些闭路电视。

匹配这样的模板的最佳方法是什么?

我正在使用skImage - 对我来说openCV不是一个选项,但我也愿意接受建议。

例如:在下面的图片中,模板与第二张图片正确匹配 - 但第一张图片不匹配 - 我想由于文字“BLDG ...”所产生的噪音


模板:

Template


来源图片:

Source image


匹配结果:

Match result

4 个答案:

答案 0 :(得分:1)

最快的方法可能是一系列提升的分类器,这些分类器通过您的徽标的多种变体进行训练,可能还有一些旋转和一些负面示例(非徽标)。您必须粗略地缩放整体图像,以便测试和训练示例大致按比例匹配。与花费大量时间搜索兴趣点并为学习和搜索创建描述符的SIFT或SURF不同,二元分类器将大部分负担转移到训练阶段,而您的测试或搜索将更快。

简而言之,级联将以这样的方式运行,即第一次测试将丢弃大部分图像。如果第一次测试通过,其他测试将遵循并完善。它们将是超快速的,仅包括每个点周围的平均强度比较。只有少数几个位置可以通过整个级联,并且可以通过其他测试进行验证,例如旋转关联例程。

因此,分类器是有效的,不仅因为它们可以快速检测到您的对象,而且因为它们也可以快速丢弃非对象区域。要阅读有关增强分类器的更多信息,请参阅以下openCV section

答案 1 :(得分:0)

此问题通常由徽标检测解决。有关类似的讨论,请参阅this。 模板匹配有许多可靠的方法。有关详细讨论,请参阅this或google。

但是从你的例子中我可以猜出以下方法可行。

  1. 为搜索图片创建一项功能。它基本上有一个包围“CCTV”字样的矩形。因此,用于匹配文本信息的宽度,高度,角度和个性特征可能是合适的选择。 (或者您也可以使用具有“CCTV”的图像。在这种情况下,该方法不会是比例不变的。)

  2. 现在搜索第一个detect矩形时。然后使用该角度修剪您的搜索空间,并使用图像变换将矩形与轴平行对齐。 (这应该考虑到轮换的需要)。然后根据步骤1中选择的功能,匹配文本内容。如果您使用单个字符功能,那么您的模板匹配步骤可能实质上是一个分类步骤。否则,如果使用image进行匹配,则可以使用cv :: matchTemplate。

  3. 希望它有所帮助。

答案 2 :(得分:0)

符号定位比徽标定位更复杂,因为兴趣点几乎不能用于文档图像,例如建筑计划。许多会议涉及模式识别,每年都有许多新的符号识别算法,因此无法为您提供最佳方法。您可以查看IAPR会议:ICPR,ICDAR,DAS,GREC(图形识别研讨会)等。这些研究人员专注于这个主题:MRusiñol,JLladós,S Tabbone,JY Ramel,M Liwicki等。他们研究了几个改进符号定位的技巧,例如:vectorial signaturesgraph based signature等等(查看谷歌学者的更多论文)。

开始一种新方法的一种简单方法是使用简单的形状,如线条,矩形,三角形,而不是一次匹配所有内容。

答案 3 :(得分:0)

您的示例可以通过形状匹配(轮廓匹配)识别,比4分钟快得多。

为了获得良好的匹配,你需要很好的预处理和去噪。

示例可以找到http://www.halcon.com/applications/application.pl?name=shapematch