用opencv-python写一个通过模板匹配获得与模板的坐标偏差进行视觉引导的程序
时间: 2024-05-04 11:19:03 浏览: 20
好的,以下是一个使用OpenCV-Python进行模板匹配的程序示例:
```python
import cv2
import numpy as np
# 加载模板图像
template = cv2.imread("template.png", 0)
# 加载目标图像
target = cv2.imread("target.png", 0)
# 获取模板图像的大小
w, h = template.shape[::-1]
# 应用模板匹配
res = cv2.matchTemplate(target, template, cv2.TM_CCOEFF_NORMED)
# 设定匹配的阈值
threshold = 0.8
# 获取匹配结果的位置
loc = np.where(res >= threshold)
# 绘制匹配结果的矩形框
for pt in zip(*loc[::-1]):
cv2.rectangle(target, pt, (pt[0] + w, pt[1] + h), (0, 0, 255), 2)
# 显示结果
cv2.imshow("Result", target)
cv2.waitKey(0)
```
在这个程序中,我们首先加载了模板图像和目标图像,然后使用`cv2.matchTemplate()`函数进行模板匹配。该函数返回一个灰度图像,表示目标图像中每个像素与模板的匹配程度。接着,我们设定一个匹配的阈值,只有当匹配程度大于等于该阈值时才认为有匹配。最后,我们使用`cv2.rectangle()`函数绘制匹配结果的矩形框,并显示结果。
你可以将这个程序修改成你需要的视觉引导程序,例如,当检测到模板时,可以通过计算偏差来调整机器人的运动方向。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)