opencv的模板匹配如何计算置信度?

Python014

opencv的模板匹配如何计算置信度?,第1张

Opencv模板匹配函数里面包含了匹配的置信度:

img_rgb = cv2.imread('mario.jpg')。

img_gray = cv2.cvtColor(img_rgb,cv2.COLOR_BGR2GRAY)。

template = cv2.imread('mario_coin.jpg', 0)。

h, w =template.shape[:2]。

# res里面包含的是匹配的置信度。

res = cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORMED)。

threshold = 0.8。

# 取匹配程度大于0.8的坐标。

loc = np.where(res >= threshold)。

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。

它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。

第一种

OpenCV都带有这个函数的代码!你在用的时候,选择函数,然后右键选择”go

to denifition of cvCalOpticalFlowHS"--->然后就会跳 到定义cvCalOpticalFlowHS的定义文件,就会跳到cv.h头文件来(说明cvCalOpticalFlowHS在cv.h文件中定义的),然后你去cv.cpp文件,按"Ctrl+F" 输入函数名进行搜索,就能找到cvCalOpticalFlowHS函数的源文件了。只适合函数定义在cv.h中的函数。

第二种

如果有些函数是定义在core或者imgproc等模块中的,这个方法就不行,最好就是自己用cmake手动编译OpenCV,编译方法可以参考:如何手动编译OpenCV源码,生成VC++项目,然后用vs打开工程,去里面搜索整个工程。如我要找cvGabor函数,通过查找发现在imgproc—>src—>gabor.cpp下。或者你不想再重新编译,直接从下载的OpenCV的源码版本,在OpenCV目录下的:..\OpenCV-2.4.10\modules目录选对应文件夹(似乎cvLoadImage等无法查看,待验证)。最好是用自己重新编译的,这样所有的函数都可以查看其具体实现!

..\opencv-2.4.8\modules目录下