Я работаю над сопоставлением с шаблоном. Используя реализованную функцию, чтобы сделать пространство для совпадения между ними и получение локальных максимумов ожидаемых совпадений на исходной фотографии
, теперь у меня отображаются точки локальных максимумов x, y в списке
в моем GUI я хочу нарисовать прямоугольник или круг вокруг точки локальных максимумов, отображая их в метке обнаруженного образца (в оттенках серого исходного изображения с прямоугольником на обнаруженной форме), как это
GUI Пример
две функции для прямоугольника и круга, как я могу соединить эти две функции, чтобы нарисовать их вокруг точки локальных максимумов, когда я уже отображаю изображение на метке в GUI, так что точка локального максимума берется и используется в качестве центра прямоугольника на отображаемом изображении на этикетке, за исключением тех функций с matplot, я хочу, чтобы они были на уже существующем изображении на этикетке в GUI
def make_rects(plt_object,xy,template):
htemp, wtemp = template.shape
for ridx in range(xy.shape[0]):
y,x = xy[ridx]
r = plt.Rectangle((x-wtemp/2, y-htemp/2), wtemp, htemp, edgecolor='g', facecolor='none')
plt_object.add_patch(r)
def make_circles(plt_object,xy,template):
htemp, wtemp = template.shape
for ridx in range(xy.shape[0]):
y,x = xy[ridx]
plt_object.plot(x, y, 'o', markeredgecolor='g', markerfacecolor='none', markersize=10)
Вот моя реализованная функция
import numpy as np
from scipy.signal import correlate2d
def match_template_corr(x, temp):
y = np.empty(x.shape)
y = correlate2d(x, temp, 'same')
return y
GUI Pict ure: