如何匹配两个图像,找出错误

时间:2012-10-07 22:59:48

标签: image-processing opencv

我有一个字母的模板,以及我从数字笔中获得的许多变体(见下文):

模板

Template

测试1

Test

测试2

enter image description here

这些字母缩放在同一个边界框中。

我想检测信中的错误,就像测试1中的错误是有额外的行,而测试2中的错误是有一个缺失的段。类似地,可能存在错误,其中存在曲线而不是线段。我想找到需要纠正的部分。我应该怎么做呢?

2 个答案:

答案 0 :(得分:2)

一个含糊不清的问题是,您是否只想知道模板和测试图像之间的区别,或者想要使用模板检测字母A.

正如你所提到的,模板和测试图像之间的区别在于额外的线条,但我认为存在更多差异,例如模板A不是由直线组成,而是包括一些曲线但是测试1图像是近似的由直线组成。 这两个是图像处理中的不同问题,必须以不同方式娱乐。首先,你必须考虑你想做什么?

然而,一个解决方案是你可以在子块中划分模板和测试图像,并试图找到它们之间的相关性,如果它给出匹配到预定义的阈值(你应该智能地定义它),否则没有区别将该块标记为模板和测试图像之间的差异。

答案 1 :(得分:0)

你可以在MATLAB中使用xcorr2函数和MATLAB帮助就足以理解这个函数的工作原理。