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

main
Alexandr Pilshchikov 2 years ago
parent b0bcded0c7
commit 1764888bdd

@ -1,45 +1,45 @@
# Measuring Size of Objects with OpenCV
### Calculates the size of objects based on a given reference object
Cool object size estimator with just OpenCV and python
All thanks to Adrian Rosebrock (from [pyimagesearch](https://www.pyimagesearch.com/)) for making
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.
## **Key Points**
1. Steps involved:
1. Find contours in the image.
2. Get the minimum area rectangle for the contours.
3. Draw the mid points and the lines joining mid points of the bounding rectangle of the contours.
4. Grab the reference object from the contours and calculate **Pixel Per Metric** ratio.
5. Calculate and print the bounding rectangle's dimensions based on the reference object's dimensions.
2. Assumptions:
1. There is a reference object in the image which is easy to find and it's width/height is know to us.
3. Uses "Pixel Per Metric" ratio to calculate the size based on the given reference object.
4. Reference object properties:
1. We should know the dimensions of this object (in terms of width or height).
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).
5. Used the United States quarter as the reference object.
6. Used the OpenCV's find contours method to find the objects in the image and calculated their dimensions.
## **Requirements: (with versions i tested on)**
1. python (3.7.3)
2. opencv (4.1.0)
3. numpy (1.61.4)
4. imutils (0.5.2)
## **Commands to run the detection:**
```
python object_size.py --image images/example_01.png --width 0.955
# Измерение размера объектов с помощью OpenCV
### Вычисляет размер объектов на основе заданного эталонного объекта
Классный оценщик размера объекта с помощью только OpenCV и python
Выражаю благодарность Адриану Роузброку (из [pyimagesearch](https://www.pyimagesearch.com /)) за создание
отличных руководств. Этот проект вдохновлен его блогом: [Измерение размера объектов на изображении с помощью OpenCV](https://www.pyimagesearch.com/2016/03/28/measuring-size-of-objects-in-an-image-with-opencv/). Я включил код автора и тот, который я написал сам.
## ** Ключевые моменты**
1. Необходимые шаги:
1. Найдите контуры на изображении.
2. Получите прямоугольник минимальной площади для контуров.
3. Нарисуйте средние точки и линии, соединяющие средние точки ограничивающего прямоугольника контуров.
4. Выделите опорный объект из контуров и вычислите соотношение **Пиксель на метрику**.
5. Вычислите и распечатайте размеры ограничивающего прямоугольника на основе размеров эталонного объекта.
2. Допущения:
1. На изображении есть эталонный объект, который легко найти, и его ширина / высота нам известна.
3. Использует соотношение "Пиксель на метрику" для вычисления размера на основе данного эталонного объекта.
4. Свойства ссылочного объекта:
1. Мы должны знать размеры этого объекта (в пересчете на ширину или высоту).
2. Мы должны быть в состоянии легко найти этот эталонный объект на изображении, либо основываясь на размещении объекта (например, в верхнем левом углу и т.д.), либо по внешнему виду (например, отличительному цвету и / или форме).
5. Использовал квартал Соединенных Штатов в качестве эталонного объекта.
6. Использовал метод поиска контуров в OpenCV, чтобы найти объекты на изображении и вычислить их размеры.
## ** Требования: (с версиями, на которых я тестировал)**
1. python (3.7.3)
2. opencv (4.1.0)
3. numpy (1.61.4)
4. imutils (0.5.2)
## **Команды для запуска обнаружения:**
```
питон 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 2 of object dimensions](example_02.gif)
![Gif 1 размеров объекта](example_01.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.
2. The photos are prone to radial and tangential lens distortion which would lead to uneven object dimensions.
## ** Ограничения**
1. Для получения точных результатов этот метод требует, чтобы изображение объектов было почти идеальным при просмотре сверху вниз. В противном случае размеры объектов на изображении могут быть искажены.
2. Фотографии подвержены радиальному и тангенциальному искажению объектива, что может привести к неравномерным размерам объекта.
Loading…
Cancel
Save