解释 openCV 匹配模板的互相关和归一化
Explaing Cross Correlation and Normalization for openCV's Match Template
我和我的老板不同意 matchTemplate() 的 CV_TM_CCORR_NORMED 方法是怎么回事;在开放式简历中。
你能解释一下这里发生了什么,尤其是这个等式的平方根方面吗?
相关性是两个信号、向量等的相似性。假设你有向量
template=[0 1 0 0 1 0 ] A=[0 1 1 1 0 0] B =[ 1 0 0 0 0 1]
如果你执行向量和模板之间的关联来得到哪个更相似,你会看到 A
比 B
更类似于 template
因为 1 被放置在相应的位置indexes.This表示对应的非零元素越多,向量之间的相关性就越大。
在灰度图像中,值在 0-255.Let 的范围内:
template=[10 250 36 30] A=[10 250 36 30] B=[220 251 240 210]
.
这里很明显 A
与 template
相同,但 B
和 template
之间的相关性大于 A
和 template
.在公式的归一化互相关分母部分正在解决这个问题。如果您检查下面的公式,您会发现 B(x)template
的分母比 A(x)template
.
大得多
opencv 文档中所述的公式:
在实践中,如果你使用互相关,如果图像的一部分有亮度,如果你使用归一化互相关,那部分和你的模板之间的相关性将是 larger.But你会得到更好的结果。
认为公式是这样的:
在逐个元素相乘之前,您正在对两个 matrixes.By 除以矩阵中所有元素的平方和的根进行归一化,您正在去除增益;如果所有元素都很大,则除数也很大。
认为您正在除以 matrix.If 中所有元素的总和,一个像素值位于更亮的区域,那么它的邻居像素值将 high.By 除以您正在移除照明的其邻域的总和 effect.This 用于图像处理,其中像素值始终为 positive.But 对于 2D 矩阵可能有一些负值,因此平方忽略符号。
我和我的老板不同意 matchTemplate() 的 CV_TM_CCORR_NORMED 方法是怎么回事;在开放式简历中。
你能解释一下这里发生了什么,尤其是这个等式的平方根方面吗?
相关性是两个信号、向量等的相似性。假设你有向量
template=[0 1 0 0 1 0 ] A=[0 1 1 1 0 0] B =[ 1 0 0 0 0 1]
如果你执行向量和模板之间的关联来得到哪个更相似,你会看到 A
比 B
更类似于 template
因为 1 被放置在相应的位置indexes.This表示对应的非零元素越多,向量之间的相关性就越大。
在灰度图像中,值在 0-255.Let 的范围内:
template=[10 250 36 30] A=[10 250 36 30] B=[220 251 240 210]
.
这里很明显 A
与 template
相同,但 B
和 template
之间的相关性大于 A
和 template
.在公式的归一化互相关分母部分正在解决这个问题。如果您检查下面的公式,您会发现 B(x)template
的分母比 A(x)template
.
opencv 文档中所述的公式:
在实践中,如果你使用互相关,如果图像的一部分有亮度,如果你使用归一化互相关,那部分和你的模板之间的相关性将是 larger.But你会得到更好的结果。
认为公式是这样的:
在逐个元素相乘之前,您正在对两个 matrixes.By 除以矩阵中所有元素的平方和的根进行归一化,您正在去除增益;如果所有元素都很大,则除数也很大。
认为您正在除以 matrix.If 中所有元素的总和,一个像素值位于更亮的区域,那么它的邻居像素值将 high.By 除以您正在移除照明的其邻域的总和 effect.This 用于图像处理,其中像素值始终为 positive.But 对于 2D 矩阵可能有一些负值,因此平方忽略符号。