cv2.ошибка: OpenCV(4.0.0) C:blahblahtemplmatch.cpp:589 : ошибка: (-215: ошибка утверждения)

#python #image-recognition

#python #распознавание изображений

Вопрос:

Я написал скрипт, используя скрипт поиска изображений в качестве примера, и он работает хорошо, все, кроме одной ошибки.

 File "C:/Users/me/Desktop/python/animalID/test.py", line 55, in imagesearcharea
res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED) 
cv2.error: OpenCV(4.0.0) C:projectsopencv-pythonopencvmodulesimgprocsrctemplmatch.cpp:589: error: (-215:Assertion failed) corrsize.height <= img.rows   templ.rows - 1 amp;amp; corrsize.width <= img.cols   templ.cols - 1 in function 'cv::crossCorr'
  

вот часть кода, который он выполняет, я объясню, что он делает

Сначала скрипту показывается 50 изображений животных, либо из пула 0-199, либо из пула 200-399. Он распознает, что это за изображения, и сохранит имя файла в массив. Затем время от времени на экране будет отображаться слово «животное», когда это происходит, делается снимок экрана, а затем скрипт сравнивает снимок экрана со всеми изображениями животных из списка в массиве.

Если список в массиве от 0-199, он работает отлично, но если он от 200-399, он каждый раз вылетает.

 def animalscanner():

    global namenumber
    global im
    global animaltype
    global currentnumber
    global threshold

    pos = imagesearch_loop("animal.png", 1)
    global im
    im = region_grabber((383, 625, 1078, 698)) 
    im.save('zzzzzztestarea.png')
    currentnumber = 0 #testing
    animaltypechecker()

def animaltypechecker():

    global namenumber
    global im
    global animaltype
    global currentnumber
    global threshold

    pos = imagesearcharea("w"   str(animaltype[currentnumber])   ".png", 0, 0, 602, 38, threshold, im)
    while (pos[0] == -1):
        if currentnumber == 50: 
            currentnumber = -1
            threshold -= .01
        currentnumber  =1
        pos = imagesearcharea("w"   str(animaltype[currentnumber])   ".png", 0, 0, 602, 38, threshold, im)
  

Я подумал, что это может быть поврежденный файл изображения, поэтому я восстановил изображения 200-399 (с помощью скриншота, используя тот же скрипт, что и при создании первых 400 изображений), но это все равно не сработало.

Я понятия не имею, что я делаю не так, надеюсь, этой информации достаточно, если нет, дайте мне знать, что еще можно предоставить.