перевёл README.md атоматически

main
Alexandr Pilshchikov 2 years ago
parent b0bcded0c7
commit 1764888bdd

@ -1,45 +1,45 @@
# Measuring Size of Objects with OpenCV # Измерение размера объектов с помощью OpenCV
### Calculates the size of objects based on a given reference object ### Вычисляет размер объектов на основе заданного эталонного объекта
Cool object size estimator with just OpenCV and python Классный оценщик размера объекта с помощью только OpenCV и python
All thanks to Adrian Rosebrock (from [pyimagesearch](https://www.pyimagesearch.com/)) for making Выражаю благодарность Адриану Роузброку (из [pyimagesearch](https://www.pyimagesearch.com /)) за создание
great tutorials. This project is inspired from his blog: [Measuring size of objects in an image with OpenCV](https://www.pyimagesearch.com/2016/03/28/measuring-size-of-objects-in-an-image-with-opencv/). I have included the author's code and the one i wrote my self as well. отличных руководств. Этот проект вдохновлен его блогом: [Измерение размера объектов на изображении с помощью OpenCV](https://www.pyimagesearch.com/2016/03/28/measuring-size-of-objects-in-an-image-with-opencv/). Я включил код автора и тот, который я написал сам.
## **Key Points** ## ** Ключевые моменты**
1. Steps involved: 1. Необходимые шаги:
1. Find contours in the image. 1. Найдите контуры на изображении.
2. Get the minimum area rectangle for the contours. 2. Получите прямоугольник минимальной площади для контуров.
3. Draw the mid points and the lines joining mid points of the bounding rectangle of the contours. 3. Нарисуйте средние точки и линии, соединяющие средние точки ограничивающего прямоугольника контуров.
4. Grab the reference object from the contours and calculate **Pixel Per Metric** ratio. 4. Выделите опорный объект из контуров и вычислите соотношение **Пиксель на метрику**.
5. Calculate and print the bounding rectangle's dimensions based on the reference object's dimensions. 5. Вычислите и распечатайте размеры ограничивающего прямоугольника на основе размеров эталонного объекта.
2. Assumptions: 2. Допущения:
1. There is a reference object in the image which is easy to find and it's width/height is know to us. 1. На изображении есть эталонный объект, который легко найти, и его ширина / высота нам известна.
3. Uses "Pixel Per Metric" ratio to calculate the size based on the given reference object. 3. Использует соотношение "Пиксель на метрику" для вычисления размера на основе данного эталонного объекта.
4. Reference object properties: 4. Свойства ссылочного объекта:
1. We should know the dimensions of this object (in terms of width or height). 1. Мы должны знать размеры этого объекта (в пересчете на ширину или высоту).
2. We should be able to easily find this reference object in the image, either based on the placement of the object (like being placed in top-left corner, etc.) or via appearances (like distinctive color and/or shape). 2. Мы должны быть в состоянии легко найти этот эталонный объект на изображении, либо основываясь на размещении объекта (например, в верхнем левом углу и т.д.), либо по внешнему виду (например, отличительному цвету и / или форме).
5. Used the United States quarter as the reference object. 5. Использовал квартал Соединенных Штатов в качестве эталонного объекта.
6. Used the OpenCV's find contours method to find the objects in the image and calculated their dimensions. 6. Использовал метод поиска контуров в OpenCV, чтобы найти объекты на изображении и вычислить их размеры.
## **Requirements: (with versions i tested on)** ## ** Требования: (с версиями, на которых я тестировал)**
1. python (3.7.3) 1. python (3.7.3)
2. opencv (4.1.0) 2. opencv (4.1.0)
3. numpy (1.61.4) 3. numpy (1.61.4)
4. imutils (0.5.2) 4. imutils (0.5.2)
## **Commands to run the detection:** ## **Команды для запуска обнаружения:**
``` ```
python object_size.py --image images/example_01.png --width 0.955 питон object_size.py --изображение images/example_01.png --ширина 0.955
``` ```
## **Results:** ## **Результаты:**
The results are pretty decent even though not perfect. This is due the limitations of the image itself as its not perfect top-down view of the objects and some calibrations could have also been done in the camera before clicking the picture. Результаты довольно приличные, хотя и не идеальные. Это связано с ограничениями самого изображения, поскольку на нем не идеальный вид объектов сверху вниз, и некоторые калибровки также могли быть выполнены в камере перед щелчком по изображению.
![Gif 1 of object dimensions](example_01.gif) ![Gif 1 размеров объекта](example_01.gif )
![Gif 2 of object dimensions](example_02.gif) ![Gif 2 размеров объекта](example_02.gif )
## **The limitations** ## ** Ограничения**
1. This technique requires the image to be near perfect top-down view of the objects to calculate the accurate results. Otherwise the dimensions of the objects in the image may be distorted. 1. Для получения точных результатов этот метод требует, чтобы изображение объектов было почти идеальным при просмотре сверху вниз. В противном случае размеры объектов на изображении могут быть искажены.
2. The photos are prone to radial and tangential lens distortion which would lead to uneven object dimensions. 2. Фотографии подвержены радиальному и тангенциальному искажению объектива, что может привести к неравномерным размерам объекта.
Loading…
Cancel
Save