Как классифицировать цвет трикотажа в баскетбольном матче, используя opencv c ++ - PullRequest
1 голос
/ 19 июня 2019

У меня есть простая программа обнаружения объектов, использующая opencv c ++ с yolo, которая обнаруживает игроков в баскетбольном видеоигре. Обнаружение игроков работает отлично. Теперь я хочу сгруппировать обнаруженные объекты (игроков) по командам. Моя идея - сравнить цвет трикотажа. Я попытался преобразовать цвет в черно-белый и просто посчитать ненулевые значения для каждого обнаруженного короля, чтобы соответствующим образом сгруппировать команду. Это с предположением, что цвета трикотажа - темные и светлые (напротив). Точность не приемлема.

Что такое элегантный способ сделать это? Пример кода приветствуется.

    cvtColor(roi, gray, cv::COLOR_BGR2GRAY);
    threshold(gray, threshold_output, 127, 255, cv::THRESH_BINARY);
    int TotalNumberOfPixels = threshold_output.rows * threshold_output.cols;
    int white = countNonZero(threshold_output);

Пример кадра

enter image description here

Воображаемый вывод

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...