Как найти на изображении определенный объект?

Есть нейросеть, которая классифицирует изображения дорожных знаков 200х200
5dc7fcf66a520545212482.png
5dc7fd01eb043531459996.png
Как теперь найти эти знаки на изображении 1920х1080? Пробовал обрезать по контурам, но вместе со знаками сохраняется еще и всякий мусор.
5dc7fd7583f1d976979995.png

import cv2
from PIL import Image

image = cv2.imread("C:/Users/pikro/PycharmProjects/ML/road_sign/test.png")

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
edged = cv2.Canny(image, 10, 200)
_, cnts, _ = cv2.findContours(edged.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
idx = 0

rects = sorted([cv2.boundingRect(c) for c in cnts], key=lambda x: x[0])

for x, y, w, h in rects:
    if w > 100 and h > 100:
        idx += 1
        new_img = image[y - 3:y + h + 3, x - 3:x + w + 3]
        cv2.imwrite("C:/Users/pikro/PycharmProjects/ML/road_sign/crop/" + str(idx) + '.png', new_img)
cv2.imshow("im", image)
cv2.waitKey(0)
  • Вопрос задан
  • 601 просмотр
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
а кормить вас будем блинами-они пролазят под дверь
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 мая 2020, в 02:01
4500 руб./за проект
26 мая 2020, в 00:42
10000 руб./за проект
25 мая 2020, в 22:16
3000 руб./за проект