Обработка изображения с получением пикселей на дюйм объекта на основе ссылочных дюймов
Проще говоря:
У меня есть изображение человеческого тела. У меня есть две опорные точки, которые являются левой и правой местами талии. Скажем, например: (100,100) и (200,100) - соответствующие левые и правые точки талии.
В дополнение к этим двум пунктам, я также знаю, что "живая" дюйма ценность талии.
Я пытаюсь взять эти три точки данных и экстраполировать, сколько пикселей = один дюйм в "реальной жизни". Это не должно быть так сложно, но у меня есть некоторый тип блока мозга по этому поводу.
Ищем простую формулу. Тот, с которого я начал, является:
(RightPoint.X - LeftPoint.X) / 34"
Это не работает. Чем меньше становится талия, тем больше значение пикселей на дюйм. В приведенном выше, это будет 2,9 пикселей == 1".
Если я изменю 34"на 10", он будет снимать до 10 пикселей == 1". Или, может быть, это правильно? Тьфу... мозг, где ты сегодня вечером??!?
Вопрос:
Я ищу правильную формулу, которая на основе этих трех точек ссылочных данных позволит мне определить, сколько пикселей на изображении == 1". Поэтому, если я знаю в реальной жизни, что талия человека составляет 34 дюйма, я хочу определите, что на изображении... скажем, 2,5 пикселя == 1 дюйм относительно изображения.
1 ответ
К сожалению, у вас нет достаточно информации, чтобы решить это. Во-первых, измерение талии в реальной жизни является трехмерным и проходит по всему телу, поэтому для начала вам придется разделить его на 2, чтобы позволить рулетке, проходящей как спереди, так и сзади. тело - так что ваша 34"талия будет означать, что ваши 100 пикселей соответствуют 17" - если бы тело было плоским - что это не так! И это проблема.
Представьте, что у человека две толстые подушки на передней части брюк... это повлияет на размер их талии (увеличит его на несколько миль), но, поскольку они находятся спереди от брюк, это не повлияет на ширину пикселя.
Извините, вы не можете сделать это точно. Вы могли бы предположить, что их талия была идеально круглой, тогда 100 пикселей соответствовали бы проекции их талии, так что 34"было бы окружностью талии, что равно pi x d. Таким образом, вы бы сказали, что 100 пикселей = 34/pi или около 11".
Итак, в конкретных условиях:
34/pi inches = 100 pixels
10.8 inches = 100 pixels
1 inch = 100/10.8 pixels
1 inch = 9.25 pixels
Но помните, что это приближение, основанное на круговой талии.