我有一个大图像(5400x3600),我需要检测多个CCTV。
检测需要花费大量时间(4-7分钟)进行旋转。但它仍无法解决某些闭路电视。
匹配这样的模板的最佳方法是什么?
我正在使用skImage - 对我来说openCV不是一个选项,但我也愿意接受建议。
例如:在下面的图片中,模板与第二张图片正确匹配 - 但第一张图片不匹配 - 我想由于文字“BLDG ...”所产生的噪音
答案 0 :(得分:1)
最快的方法可能是一系列提升的分类器,这些分类器通过您的徽标的多种变体进行训练,可能还有一些旋转和一些负面示例(非徽标)。您必须粗略地缩放整体图像,以便测试和训练示例大致按比例匹配。与花费大量时间搜索兴趣点并为学习和搜索创建描述符的SIFT或SURF不同,二元分类器将大部分负担转移到训练阶段,而您的测试或搜索将更快。
简而言之,级联将以这样的方式运行,即第一次测试将丢弃大部分图像。如果第一次测试通过,其他测试将遵循并完善。它们将是超快速的,仅包括每个点周围的平均强度比较。只有少数几个位置可以通过整个级联,并且可以通过其他测试进行验证,例如旋转关联例程。
因此,分类器是有效的,不仅因为它们可以快速检测到您的对象,而且因为它们也可以快速丢弃非对象区域。要阅读有关增强分类器的更多信息,请参阅以下openCV section。
答案 1 :(得分:0)
此问题通常由徽标检测解决。有关类似的讨论,请参阅this。 模板匹配有许多可靠的方法。有关详细讨论,请参阅this或google。
但是从你的例子中我可以猜出以下方法可行。
为搜索图片创建一项功能。它基本上有一个包围“CCTV”字样的矩形。因此,用于匹配文本信息的宽度,高度,角度和个性特征可能是合适的选择。 (或者您也可以使用具有“CCTV”的图像。在这种情况下,该方法不会是比例不变的。)
现在搜索第一个detect矩形时。然后使用该角度修剪您的搜索空间,并使用图像变换将矩形与轴平行对齐。 (这应该考虑到轮换的需要)。然后根据步骤1中选择的功能,匹配文本内容。如果您使用单个字符功能,那么您的模板匹配步骤可能实质上是一个分类步骤。否则,如果使用image进行匹配,则可以使用cv :: matchTemplate。
希望它有所帮助。
答案 2 :(得分:0)
符号定位比徽标定位更复杂,因为兴趣点几乎不能用于文档图像,例如建筑计划。许多会议涉及模式识别,每年都有许多新的符号识别算法,因此无法为您提供最佳方法。您可以查看IAPR会议:ICPR,ICDAR,DAS,GREC(图形识别研讨会)等。这些研究人员专注于这个主题:MRusiñol,JLladós,S Tabbone,JY Ramel,M Liwicki等。他们研究了几个改进符号定位的技巧,例如:vectorial signatures,graph based signature等等(查看谷歌学者的更多论文)。
开始一种新方法的一种简单方法是使用简单的形状,如线条,矩形,三角形,而不是一次匹配所有内容。
答案 3 :(得分:0)
您的示例可以通过形状匹配(轮廓匹配)识别,比4分钟快得多。
为了获得良好的匹配,你需要很好的预处理和去噪。
示例可以找到http://www.halcon.com/applications/application.pl?name=shapematch