Этот код делает снимок экрана и затем ищет данный объект на экране, сравнивая его с данным шаблоном, а затем подсчитывает, сколько раз объект был найден.Это можно увидеть ниже с изображением монет марио, на котором программа идентифицирует каждую монету марио, а затем подсчитывает их общее количество.Моя проблема в том, что я хотел бы, чтобы программа продолжала считать монеты во время бега, чтобы, если монета была добавлена или вычтена на экране, программа обновила счетное число.
Пример: считает 19 монет, считает19 монет, 19 монет, (две добавленные монеты), 21 монета, 21 монета и т. Д.
import cv2 as cv2
import numpy
import pyautogui
# Takes a screen shot and saves the file in the specified location
loc1 = (r'Capture.png')
pyautogui.screenshot(loc1)
# Reads the screen shot and loads the image it will be compared too
img_rgb = cv2.imread(loc1)
count = 0
n = 0
while n < 5:
# Reads the file
template_file_ore = r"mario.png"
template_ore = cv2.imread(template_file_ore)
w, h = template_ore.shape[:-1]
# Compares screen shot to given image, gives error thresh hold
res = cv2.matchTemplate(img_rgb, template_ore, cv2.TM_CCOEFF_NORMED)
threshold = 0.80
loc = numpy.where(res >= threshold)
# Puts red box around matched images and counts coins
for pt in zip(*loc[::-1]):
cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0, 0, 255), 2)
count = count + 1
print(count)
n = n + 1
Mario Picture