OpenCV: сопоставление шаблонов не может найти правильное соответствие местоположенияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 OpenCV: сопоставление шаблонов не может найти правильное соответствие местоположения

Сообщение Anonymous »

У меня возникли проблемы с сопоставлением шаблонов. Код работает для более простого исходного изображения и изображения шаблона. Однако для рассматриваемого изображения я вижу неправильное местоположение совпадения. Я попытался настроить код, однако в итоге получил неправильное совпадение. Спасибо, что уделили время.
Изображение

Изображение

Код: Выделить всё

import numpy as np
import cv2
import subprocess

# Assign template and target images
image = cv2.imread('pfizersource.jpg')
template = cv2.imread('pfizertemplate.png')

# Resize images
image = cv2.resize(image, (0, 0), fx=0.5, fy=0.5)
template = cv2.resize(template, (0, 0), fx=0.5, fy=0.5)

# Convert to grayscale
imageGray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
templateGray = cv2.cvtColor(template, cv2.COLOR_BGR2GRAY)

# Find template
result = cv2.matchTemplate(imageGray, templateGray, cv2.TM_CCOEFF)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
top_left = max_loc
h, w = templateGray.shape
bottom_right = (top_left[0] + w, top_left[1] + h)
cv2.rectangle(image, top_left, bottom_right, (0, 0, 255), 4)

# Show result
cv2.imshow("Result", image)
cv2.imshow("Template", template)
cv2.moveWindow("Template", 10, 50);
cv2.moveWindow("Result", 150, 50);

print(top_left)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey(1)
Я пробовал разными методами, но все равно не работает

Код: Выделить всё

methods = ['cv2.TM_CCOEFF', 'cv2.TM_CCOEFF_NORMED', 'cv2.TM_CCORR', 'cv2.TM_CCORR_NORMED', 'cv2.TM_SQDIFF', 'cv2.TM_SQDIFF_NORMED']


Подробнее здесь: https://stackoverflow.com/questions/793 ... e-location
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»