В предыдущей статье мы рассмотрели использование библиотеки OpenCV для распознавания и обводки карт на изображении стола. Однако, как мы отметили, алгоритм не работал идеально в центральной области стола. В этой статье мы продолжим развитие нашего алгоритма, внесем улучшения и исправим недочеты.
Шаг 7: Определение регионов интереса
Один из основных факторов, влияющих на работу нашего алгоритма, - это определение регионов интереса на изображении. Мы выделили три области на столе с картами: боковую, среднюю и нижнюю области.
Для определения регионов интереса, в которых находятся карты, мы используем найденные контуры карт. После нахождения каждого контура, мы проверяем его координаты и сравниваем их с координатами каждой области regions_of_interest
. Если координаты контура попадают в одну из областей, мы считаем, что карта находится в этой области.
Шаг 8: Оптимизация
Мы улучшили метод process_screen
класса ScreenCapture
, добавив этот функционал. Обновленный код метода выглядит следующим образом: