Можно ли сделать cv2.matchTemplate быстрее? - PullRequest
1 голос
/ 10 мая 2019

Я хочу сделать свой код быстрее.Я сравниваю, есть ли на изображении вода с 3000 логотипами водяных знаков.Для сравнения каждого изображения требуется около 10 минут, и с вероятностью 90% можно сказать, что на изображении нет водяного знака.Поскольку 10 минут очень длинные, есть ли возможность сократить этот процесс до 1 минуты?

Это мой код:

img_gray = loadimagein_gray(im1)
count = 0
for X in path:
    template = cv2.imread(X)
    found = False
    w, h = template.shape[:-1]
    res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
    threshold =0.85
    loc = np.where(res >= threshold)
    count = count + 1
    print(count)
    if found == False:
        for pt in zip(*loc[::-1]):  # Switch columns and rows
            cv2.rectangle(img_gray, pt, (pt[0] + w, pt[1] + h), (0, 0, 255)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...