opencv python模板匹配
时间: 2023-08-16 16:10:50 浏览: 137
在Python中使用OpenCV进行模板匹配可以通过matchTemplate函数来实现。该函数的原型为:matchTemplate(image, templ, method\[, result\[, mask\]\]) -> result。\[3\]其中,image是待搜索的图像,templ是要匹配的模板图像,method是匹配方法,result是输出的匹配结果,mask是可选的掩码图像。\[3\]
下面是一个使用OpenCV进行多对象模板匹配的示例代码:
```python
import cv2
import numpy as np
img_rgb = cv2.imread('Coins.jpg')
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
template = cv2.imread('Coin.jpg', 0)
w, h = template.shape\[::-1\]
res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
threshold = 0.4
loc = np.where(res >= threshold)
for pt in zip(*loc\[::-1\]):
cv2.rectangle(img_rgb, pt, (pt\[0\] + w, pt\[1\] + h), (0, 0, 255), 1)
cv2.imshow("img", img_rgb)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先读取了待搜索的图像和要匹配的模板图像,并将待搜索图像转换为灰度图像。然后,我们使用matchTemplate函数进行模板匹配,并设置了匹配阈值为0.4。最后,我们使用cv2.rectangle函数在匹配到的位置上绘制矩形框,将结果显示出来。\[1\]
希望这个示例能帮助到你进行OpenCV Python模板匹配。
#### 引用[.reference_title]
- *1* [OpenCV - 模板匹配(Python实现)](https://blog.csdn.net/qq_40344307/article/details/95111626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [【OpenCV + Python】模板匹配](https://blog.csdn.net/zhouzongzong/article/details/93761729)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文