You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.4 KiB
4.4 KiB
Измерение размера объектов с помощью OpenCV
Вычисляет размер объектов на основе заданного эталонного объекта
Классный оценщик размера объекта с помощью только OpenCV и python
Выражаю благодарность Адриану Роузброку (из [pyimagesearch](https://www.pyimagesearch.com /)) за создание отличных руководств. Этот проект вдохновлен его блогом: Измерение размера объектов на изображении с помощью OpenCV. Я включил код автора и тот, который я написал сам.
** Ключевые моменты**
- Необходимые шаги:
- Найдите контуры на изображении.
- Получите прямоугольник минимальной площади для контуров.
- Нарисуйте средние точки и линии, соединяющие средние точки ограничивающего прямоугольника контуров.
- Выделите опорный объект из контуров и вычислите соотношение Пиксель на метрику.
- Вычислите и распечатайте размеры ограничивающего прямоугольника на основе размеров эталонного объекта.
- Допущения:
- На изображении есть эталонный объект, который легко найти, и его ширина / высота нам известна.
- Использует соотношение "Пиксель на метрику" для вычисления размера на основе данного эталонного объекта.
- Свойства ссылочного объекта:
- Мы должны знать размеры этого объекта (в пересчете на ширину или высоту).
- Мы должны быть в состоянии легко найти этот эталонный объект на изображении, либо основываясь на размещении объекта (например, в верхнем левом углу и т.д.), либо по внешнему виду (например, отличительному цвету и / или форме).
- Использовал квартал Соединенных Штатов в качестве эталонного объекта.
- Использовал метод поиска контуров в OpenCV, чтобы найти объекты на изображении и вычислить их размеры.
** Требования: (с версиями, на которых я тестировал)**
- python (3.7.3)
- opencv (4.1.0)
- numpy (1.61.4)
- imutils (0.5.2)
Команды для запуска обнаружения:
питон object_size.py --изображение images/example_01.png --ширина 0.955
Результаты:
Результаты довольно приличные, хотя и не идеальные. Это связано с ограничениями самого изображения, поскольку на нем не идеальный вид объектов сверху вниз, и некоторые калибровки также могли быть выполнены в камере перед щелчком по изображению.
** Ограничения**
- Для получения точных результатов этот метод требует, чтобы изображение объектов было почти идеальным при просмотре сверху вниз. В противном случае размеры объектов на изображении могут быть искажены.
- Фотографии подвержены радиальному и тангенциальному искажению объектива, что может привести к неравномерным размерам объекта.

