Как отфильтровать результат сопоставления с шаблоном opencv и сохранить счет каждого? - PullRequest
0 голосов
/ 09 декабря 2018

Итак, я использую функцию opencv matchTemplate для обнаружения объектов на изображении и сохраняю их в массиве.Я также хочу сохранить уверенность opencv в том, что шаблон соответствует.(Я могу отфильтровать его с порогом, но он выглядит так, как будто эти данные не возвращаются из функции np.where).

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

вот мой код:

    res_b = cv2.matchTemplate(img_b,template,cv2.TM_CCOEFF_NORMED)
    res_g = cv2.matchTemplate(img_g,template,cv2.TM_CCOEFF_NORMED)
    res_r = cv2.matchTemplate(img_r,template,cv2.TM_CCOEFF_NORMED)

    res = np.add(np.add(res_b, res_g), res_r)
    res /= 3

    threshold = 0.8
    loc = np.where(res > threshold)
    for pt in zip(*loc[::-1]):
        cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0,0,255), 2)
        point = Empty()
        point.x = pt[0]+w/2
        point.y = pt[1]+h/2
        point.confidence = ???
        myres.append(point)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...