Как распознать заранее известный объект на картинке, на python?

можете подсказать библиотеку или написать не большой код (желательно с комментариями), который будет определять заранее известный объект на картинке. То есть, я сохраняю в папку не большой скрин иконки, которую нужно найти, а программа берёт полное изображение экрана, находит объект и выводит: объект найден.

Попробовал написать так код, но, как я понял, работать он не собирается:

from pixellib.instance import instance_segmentation


def item_detect():
    item_image = instance_segmentation()
    item_image.load_model('C:/Users/+++/Desktop/lp/programms/EFT items/X.png') # скрин, который нужно найти

    item_image.segmentImage(
        image_path='D.png' # скрин, на котором нужно найти
        )
        print('1')
def main():
    item_detect()

if __name__ == '__main__':
    main()

Такой объект нужно найти: введите сюда описание изображения

На этом скрине: введите сюда описание изображения

За фиговый код не бейте палками ), я новичёк.

После исправления, я написал другой код (он работает корректно):

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt

# 2. Сопоставьте несколько объектов
img_rgb = cv.imread('D1.PNG') # скрин, на котором ищём
img_gray = cv.cvtColor(img_rgb, cv.COLOR_BGR2GRAY)
template = cv.imread('X.PNG', 0) # а тут, то ,что ищем
h, w = template.shape[:2]

res = cv.matchTemplate(img_gray, template, cv.TM_CCOEFF_NORMED)
threshold = 0.8
# Возьмем координаты со степенью совпадения больше% 80
loc = np.where(res >= threshold)
for pt in zip(*loc[::-1]):  # * Обозначает необязательные параметры
    bottom_right = (pt[0] + w, pt[1] + h)
    cv.rectangle(img_rgb, pt, bottom_right, (0, 0, 255), 2)

cv.imshow('img_rgb', img_rgb)
print('Объект найден')
cv.waitKey(0)
cv.destroyAllWindows()

Ответы (0 шт):