@0xC0CAC01A

Как отыскать подкартинку в картинке средствами python?

Дано: две картинки. Надо понять, является ли первая (меньшая) картинка частью/кропом второй (большей) картинки и если да, вернуть координаты левого верхнего угла кропа во второй картинке. Обе картинки пожаты джипегом, так что точного 100% попиксельного совпадения, скорее всего, не будет.
Есть библиотека с таким алгоритмом на Питоне?
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
FanaticExplorer
@FanaticExplorer
чел
Через opencv можно:
import cv2
import numpy as np

image = cv2.imread('image.jpg', 0)
template = cv2.imread('part.jpg', 0)

res = cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED)

min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)

threshold = 0.8
if max_val > threshold:
    top_left = max_loc
    print("Подкартинка найдена:", top_left)
else:
    print("Подкартинка не найдена")

Со значением threshold надо будет поиграться, что бы работал более корректно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы