Python OpenCV - шаблон оценки достоверности - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть следующий код для OpenCV templateMatch, сканирования и шаблона (из вопроса, который я задал ранее здесь ):

import cv2
import numpy as np

#load image into variable
img_rgb = cv2.imread('example_scan.jpg')

#load template
template = cv2.imread('example_template.jpg')

#read height and width of template image
w, h = template.shape[0], template.shape[1]

res = cv2.matchTemplate(img_rgb,template,cv2.TM_CCOEFF_NORMED)
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,255,0), 2)

img_rgb = cv2.resize(img_rgb,(800,600))
cv2.imwrite("example_result.png", img_rgb)

Сканирование: enter image description here

Шаблон:

enter image description here

Результат такой: enter image description here

Хорошо, так что это работает: templateMatch находит расположение кругов, которые выглядят как шаблон. Отлично!

Теперь мой вопрос звучит так: насколько OpenCV уверен, что найденные местоположения верны? Допустим, по шкале от 0% до 100%? Я нашел кое-что о minMaxLo c, но я не знаю, то ли это, что я ищу и что говорят результаты minMaxLo c, не говоря уже о том, как использовать эти значения. Я считаю, что документация не очень ясна, если честно.

Итак:

  • Есть ли способ показать, насколько определенный OpenCV относится к найденным точкам? Или насколько хорошо он работал?

  • Если да, то как?

Надеюсь, кто-то может помочь.

С уважением, Гейн sh

...