Задать вопрос
Dr_Elvis
@Dr_Elvis
В гугле забанен

Как найти изображение по маске?

Допустим картинка где в зеленой(к примеру) рамке находится нужный мне для анализа кусок.
Есть ли способ найти эту область с помощью CV2 или чего то другого?
На странице это изображение может быть где угодно. Нужно найти относительные\абсолютные координаты этого изображения. Я так понимаю нужно использовать маску, но не нашел как это использовать.
к примеру вот изображение, мой аватар в зеленом круге(примем то что я точно знаю размер круга и цвет, но не знаю расположение и что внутри круга):
62264fd7e181c012115467.png
  • Вопрос задан
  • 509 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Dr_Elvis
@Dr_Elvis Автор вопроса
В гугле забанен
Получилось!
import cv2
import pyautogui
import numpy as np

small_image = cv2.imread('mask.png')
image = pyautogui.screenshot()
image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
result = cv2.matchTemplate(small_image, image, cv2.TM_CCOEFF)
_,_,_,xy = cv2.minMaxLoc(result)
MPx,MPy = xy
trows,tcols = small_image.shape[:2]
cropped_image = image[MPy:MPy+trows, MPx:MPx+tcols]
cv2.imwrite("CroppedImage.png", cropped_image)

mask.png - это картинка с альфа каналом, где видна только зеленая рамка
CroppedImage.png - это результат, который найден на скриншоте( я делаю скришот с экрана)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы