@jotrib

Как получить координаты шаблона в картинке в OpenCV?

Нужно получить координаты изображения в скриншоте, чтобы обрезать скриншот, как это сделать?
Основная идея в том чтобы питон листал страницы в браузере, скриншотил их, обрезал, склеивал страницы и ложил в pdf. Просто читать купленные книги в браузере неудобно, каждый раз нужно искать место где остановился.
может уже есть такая прога на питоне? я бы почитал
код скопирован в основном с официального сайта opencv и выдает результатом картинку:
import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt

img = cv.imread("1.png")
img2 = img.copy()
template = cv.imread('temp.jpg')
# All the 6 methods for comparison in a list
methods = ['cv.TM_CCOEFF', 'cv.TM_CCOEFF_NORMED', 'cv.TM_CCORR',
            'cv.TM_CCORR_NORMED', 'cv.TM_SQDIFF', 'cv.TM_SQDIFF_NORMED']
for meth in methods:
    img = img2.copy()
    method = eval(meth)
    # Apply template Matching
    res = cv.matchTemplate(img,template,method)
    cv.imwrite("{}.jpg".format(meth),res)
    min_val, max_val, min_loc, max_loc = cv.minMaxLoc(res)
    # If the method is TM_SQDIFF or TM_SQDIFF_NORMED, take minimum
    if method in [cv.TM_SQDIFF, cv.TM_SQDIFF_NORMED]:
        top_left = min_loc
    else:
        top_left = max_loc
    plt.subplot(121),plt.imshow(res,cmap = 'gray')
    plt.title('Matching Result'), plt.xticks([]), plt.yticks([])
    plt.subplot(122),plt.imshow(img,cmap = 'gray')
    plt.title('Detected Point'), plt.xticks([]), plt.yticks([])
    plt.suptitle(meth)
    plt.show()
  • Вопрос задан
  • 268 просмотров
Пригласить эксперта
Ответы на вопрос 1
tumbler
@tumbler Куратор тега Python
бекенд-разработчик на python
res в вашем случае - это одноканальная картинка, содержащая результаты сравнения изображения с образцом, расположенным по соответствующим координатам. Точка, содержащая глобальный экстремум (в зависимости от метода), расположена по координатам шаблона.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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