https://github.com/avdeevgeorgiy/opencv_uncovering
The program uncovers unusual objects in a video stream (OpenCV)
https://github.com/avdeevgeorgiy/opencv_uncovering
computer-vision
Last synced: over 1 year ago
JSON representation
The program uncovers unusual objects in a video stream (OpenCV)
- Host: GitHub
- URL: https://github.com/avdeevgeorgiy/opencv_uncovering
- Owner: AvdeevGeorgiy
- Created: 2025-01-26T21:39:43.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-27T21:43:18.000Z (over 1 year ago)
- Last Synced: 2025-02-07T04:42:38.936Z (over 1 year ago)
- Topics: computer-vision
- Language: C++
- Homepage:
- Size: 1.69 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
1.Разработка.
1.1. Алгоритм работы программы.
Алгоритм строится на предположении, что возможный вскрываемый из видеопотока объект контрастен к наиболее представленному цвету в кадре.
Алгоритм анализирует каждый пятый кадр видеопотока.
Первый этап работы программы заключается в поиске цвета целевого объекта:
1. Выделяется кадр из видеопотока.
2. Подсчитывается количество пикселей, закрашенных определенным цветом, а затем высчитывается процентное представление каждого цвета в кадре.
3. Цвета, которые занимают больше 30% кадра считаются цветами фона.
4. Далее идет поиск по остальным цветам, которые отсортированы по представленности в кадре.
a. Проверка цвета на контрастность к цветам фона, исходя из логики цветового круга.
b. Как только найден минимально представленный цвет, удовлетворяющий всем требованиям, то он является цветом целевого объекта.
Второй этап работы программы заключается в уточнении областей поиска разных объектов в кадре:
1. Для этого кадр разрезается на квадратные фрагменты.
2. Далее каждый фрагмент отдельно анализируется на наличие цвета целевого объекта.
3. Если в определенном фрагменте найден нужный процент содержания цвет, то этот фрагмент обводится квадратной рамкой и анализируется далее.
Третий этап работы программы заключается в поиске контура объекта в уточненной области и сохранение его в отдельный файл:
1. В выделенном фрагменте область пикселей, которая закрашена цветом целевого объекта обводится контуром.
2. Далее остальные области фрагмента заменяются прозрачным фоном.
3. Далее, в целях оптимизации, находятся крайние точки объекта и по ним строиться уменьшенный квадрат, который сохраняется в файл с расширением png (name_(номер выделенного объекта).png).
1.2. Ограничения на входные данные
На вход программы подается либо видеофайл, либо видеопоток с камеры.
В подаваемом видеопотоке должно отсутствовать все, что не относится к исследуемому видеопотоку.
1.3. Ограничения работы программы
1. Если вскрываемый объект имеет вкрапления другого цвета, то программа выделит только основной цвет.
2. Если объект занимает большую часть площади кадра, то программа будет считать его фоном.
3. Из предположения, что в кадре необходимо вскрывать несколько объектов, сам кадр делиться на крупную квадратную сетку. В некоторых случаях объект может полностью не попасть в квадрат, в этих случаях сохраняется его самая крупная часть, а остальные части обрезаются.
4. Также маленькие объекты, находящиеся близко друг к другу в кадре, будут расценены программой как один объект.
1.4. Области применения программы
Программа выделяет необычные объекты в кадре для последующего их распознавания другой программой.
Также полученные объекты можно использовать для обучения нейросетей.