Сопоставление шаблона - рисование фигуры при сопоставлении на GUI - PullRequest
0 голосов
/ 25 апреля 2020

Я работаю над сопоставлением с шаблоном. Используя реализованную функцию, чтобы сделать пространство для совпадения между ними и получение локальных максимумов ожидаемых совпадений на исходной фотографии

, теперь у меня отображаются точки локальных максимумов 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: enter image description here

...