在opencv matchtemplate源代码中使用什么方法来处理彩色图像?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在opencv matchtemplate源代码中使用什么方法来处理彩色图像?相关的知识,希望对你有一定的参考价值。

opencv matchtemplate的documentation

在彩色图像的情况下,分子中的模板求和以及分母中的每个和在所有通道上完成,并且对于每个通道使用单独的平均值。也就是说,该功能可以采用颜色模板和彩色图像。结果仍然是单通道图像,更容易分析。

我无法弄清楚这意味着什么。对于颜色模板和彩色图像,单通道图像(结果)是所有通道的平均结果吗?

templmatch.cpp源代码:github

答案

看一下convolve_32F中使用的matchTemplate函数的源代码,在应用图像和模板之间的卷积之前,似乎彩色图像上的模板匹配实际上将彩色图像和颜色模板转换为具有三倍列的灰色图像。灰度图像。

为了说明如何转换为灰度图像,请考虑以下2x2图像,其中包含4个颜色像素(使用BGR值编写):

(1, 2, 3) (4, 5, 6)
(7, 8, 9) (10,11,12)

它成为以下2x6灰色图像:

(1)  (2)  (3)  (4)  (5)  (6)
(7)  (8)  (9)  (10) (11) (12)

它们执行卷积,就像它是灰色图像一样,然后通过在结果图像中取三个中的一个值来提取结果(相当于提取彩色图像的第一个通道)。

以上是关于在opencv matchtemplate源代码中使用什么方法来处理彩色图像?的主要内容,如果未能解决你的问题,请参考以下文章

在 OpenCV 中与屏幕捕获一起使用的函数 matchTemplate

GPU 上的 OpenCV MatchTemplate

opencv —— matchTemplate 模板匹配

Opencv matchTemplate 不匹配

opencv matchTemplate函数用法

Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击