У меня есть это изображение и Я хочу выбрать все карты в нем, включая имена, используя python.
Я пробовал использовать OpenCv
from cv2 import cv2
import numpy as np
import os
for image in os.listdir('assets'):
print(image)
img_rgb = cv2.imread(image)
template = cv2.imread('assets/template/template.png')
w, h = template.shape[:-1]
res = cv2.matchTemplate(img_rgb, template, cv2.TM_CCOEFF_NORMED)
threshold = .8
loc = np.where(res >= threshold)
for pt in zip(*loc[::-1]): # Switch columns and rows
cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0, 0, 255), 2)
cv2.imwrite('result.png', img_rgb)
break
Но я всегда получаю эту ошибку:
OpenCV (4.2.0) C: \ projects \ opencv-python \ opencv \ modules \ imgproc \ src \ templmatch. cpp: 1104 : error: (-215: Assertion failed) (depth == CV_8U || depth == CV_32F) && type == _templ.type () && _img.dims () <= 2 в функции 'cv :: matchTemplate </p>
Как мне это сделать? Пожалуйста, помогите