Ширина и высота человеческого тела - PullRequest
0 голосов
/ 17 ноября 2010

Как узнать высоту и ширину человеческого тела на изображении?

Ответы [ 3 ]

4 голосов
/ 17 ноября 2010

Вам нужна точка отсчета.Простая фотография не подойдет, если вы не знаете настройки камеры (размещение, масштабирование, искажение объектива и т. Д.) И местоположение человека относительно камеры.

Если у вас есть ссылка (напримерсетка на заднем плане или что-то), то вы можете измерить сетку и перейти оттуда.Не похоже на то, что вам нужно.

2 голосов
/ 18 ноября 2010

Чтобы расширить сказанное другими, вы можете разбить эту сложную задачу на несколько (все еще сложных) компонентов.

  1. Определите квадрат пикселей, содержащих человека.

  2. Определите квадрат пикселей, содержащий эталонный объект, размеры которого вам известны. (например, банка кокса, линейка и т. д.)

  3. Определение трехмерного отношения между двумя объектами, чтобы вы могли переводить пиксели эталонного объекта в тот же масштаб, что и пиксели человека.

  4. Рассчитать размеры человека по формуле:

    human.real_height = human.pixel_height * reference.real_height / reference.pixel_height

Конечно, этот процесс далеко не надежен и все же довольно сложен, но он должен обеспечить разумное приближение. Я не слишком много играл с существующими наборами инструментов, но вы можете начать с OpenCV , с привязками Python. Кроме того, алгоритм SIFT - интересный метод, который может работать здесь, но я думаю, что есть только реализация на C #.

Третий шаг, вероятно, будет самым трудным, если вы используете только одно изображение. Люди извлекают данные трехмерных изображений с помощью стереоскопии (то есть мы используем изображения обоих наших глаз, чтобы «вывести» глубину), но даже в этом случае они не являются надежными, поскольку цвет и затенение могут отбросить нас. Я полагаю, что это можно сделать с помощью одного изображения, но, скорее всего, оно будет более подвержено ошибкам. Это область активных исследований, поэтому я бы посмотрел книги по компьютерному зрению, чтобы лучше понять, что в настоящее время практично.

1 голос
/ 17 ноября 2010

Как отметил Брэд, это нереально, если только изображения не сделаны в контролируемых условиях. Если нет, то вам, вероятно, не повезло, поскольку принудительная перспектива может обмануть даже самые лучшие алгоритмы, которые определяют рост и ширину человека.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...