【发布时间】:2020-01-01 19:04:12
【问题描述】:
我有这个 代码(在文档中使用)用于模板匹配:
img_rgb = cv2.imread('mta-screen_2020-01-01_12-07-24.png.png')
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
path = 'D:\!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!_!Piton\MTA_pyautogui\TrainImgs' + chr(92) + '1.png'
template = cv2.imread(path, 0)
w, h = template.shape[::-1]
res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
threshold = 0.8
loc = nm.where(res >= threshold)
for pt in zip(*loc[::-1]):
cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0, 0, 255), 2)
cv2.imwrite('res.png', img_rgb)
所以,我有这张 图片(用于检测),它的 速度 在 右下角: 我有这个模板 (速度的第一个字符),它位于上面大图的右下角:
我有输出 error:
Traceback (most recent call last):
File "D:/!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!_!Piton/MTA_pyautogui/main.py", line 38, in <module>
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
文件树:
所以,我的目标是根据每个数字制作一个模板并检测火车的速度。我并不关心方法或速度,我只想要一个告诉火车速度的输出。所以,为此,我想使用OpenCV 模板匹配。
【问题讨论】:
-
我猜你在这里打印错误
img_rgb = cv2.imread('mta-screen_2020-01-01_12-07-24.png.png')重复文件扩展名
标签: python python-3.x opencv image-processing template-matching