Измерение комнаты с помощью iPhone

Мне нужно измерить комнату (если возможно) из приложения для iPhone, и я ищу некоторые идеи о том, как я могу этого добиться. Чрезвычайная точность не важна, но точность до 1 фута была бы хорошей. Некоторые идеи, которые у меня были до сих пор:

  • Пройдитесь по комнате и измерьте с помощью GPS. Вряд ли будет достаточно точным, особенно для пользователей iPod touch.
  • Испускайте звуки из микрофона и измеряйте, сколько времени требуется, чтобы они вернулись. Есть несколько приложений, которые уже делают это, например PocketMeter. Я подозреваю, что это будет не удобно для пользователя и скорее бесполезно, чем практично.

У кого-нибудь есть другие идеи?


person Ben Williams    schedule 07.07.2010    source источник
comment
Моя идея состоит в том, чтобы использовать рулетку вместо iPhone. В iPhone нет ничего, что могло бы дать вам такой уровень точности, даже если вы можете заставить GPS работать в помещении.   -  person JeremyP    schedule 07.07.2010
comment
Хотя идея с эхолотом мне нравится   -  person JeremyP    schedule 07.07.2010


Ответы (9)


Испускайте звуки из микрофона и измеряйте, сколько времени требуется, чтобы они вернулись. Есть несколько приложений, которые уже делают это, например, PocketMeter. Я подозреваю, что это будет не удобно для пользователя и скорее бесполезно, чем практично.

Наоборот, mon frere.

Это наиболее удобный и точный способ измерения размеров помещения.

PocketMeter измеряет расстояние до одной стены с точностью до полдюйма.

Если вы используете те же формулы для измерения расстояния, но человек стоит в углу комнаты (так что расстояния до стен, пола и потолка разные), вы должны быть в состоянии вычислить все три измерения (длину , ширина и высота) с одним импульсом сонара.

Отредактировано из-за комментария, чтобы добавить:

В идеальном мире вы получите 6 импульсов, по одному от каждой поверхности. Однако мы живем не в идеальном мире. Вот некоторые вещи, которые вы должны принять во внимание:

  • Звуковой импульс заставляет iPhone вибрировать. Микрофон iPhone улавливает эту вибрацию.
  • Тип пола (ковер, дерево, плитка) влияет на время прохождения звука до пола и обратно до устройства.
  • Звук отражается более чем от одной поверхности (стены) и возвращается в iPhone.

Если бы мне пришлось угадывать, поскольку я делал что-то подобное в прошлом, вам придется излучать многочастотный тон, состоящий из низкой частоты, средней частоты и высокой частоты. Вам нужно будет выполнить быстрое преобразование Фурье на полученной звуковой волне, чтобы выбрать частоты, которые вы передавали.

Теперь, я не хочу обескураживать вас. Расчеты можно сделать. Тем не менее, это потребует некоторой работы. В конце концов, PocketMeter уже давно работает, и они измеряют только расстояние до одной стены.

person Gilbert Le Blanc    schedule 07.07.2010
comment
Конечно, получить все 3 сразу было бы идеально. Я не уверен, насколько хорошо это будет работать - я думаю, что написать код - единственный способ сказать. - person Ben Williams; 08.07.2010

Можно было встать в один угол и бросить телефон в дальний угол. Телефон мог начать измерение в определенной точке ускорения и закончить измерение при замедлении.

person matt-dot-net    schedule 07.07.2010
comment
ооо.. ну смешно же! вы, мальчики, фанаты яблока, не понимаете шуток - давайте и здесь -1 - person matt-dot-net; 07.07.2010
comment
Я дам вам +1 за глупость и за увеличение акционерной стоимости Apple за счет повторных сделок с брошенным телефоном. - person jerebear; 07.07.2010
comment
Ребята, это закономерный вопрос. Пожалуйста, не голосуйте за шутливые ответы. - person Ben Williams; 07.07.2010
comment
@alku83: Кто сказал, что работа никогда не должна приносить удовольствие? Такая шутка вряд ли кого-то обидит. Тем не менее, это вызывает несколько хороших смехов. Для меня это точно было :-) - person Adrian Grigore; 09.07.2010
comment
Отлично! Я люблю это... Да ладно, люди, это заставило меня громко смеяться. Иногда этого достаточно, чтобы дать волю творчеству и найти решение! - person Jann; 11.07.2010

1) Положите iPhone на пол, начиная с одной стены основанием к стене.

2) Отметьте линию, где iPhone заканчивается вверху.

3) Возьмите iPhone и переместите базу туда, где вы только что нарисовали линию.

4) Повторяйте шаги 1->3, пока не дойдете до другой стены.

5) Умножьте количество линий, которые потребовались, чтобы добраться до другой стены, на длину iPhone, чтобы получить окончательные измерения.

=)

person iwasrobbed    schedule 07.07.2010
comment
6) Попросите пользователя указать тип защитного чехла для iphone, который он использует (например, otterbox). 7) Учитывайте дополнительное увеличение длины iphone в зависимости от типа защитного чехла. - person Adrian Grigore; 09.07.2010

Я помню, как видел программы для риелторов, в которых нужно было держать эталонный объект на картинке. Программа будет идентифицировать эталонный объект и другие плоские поверхности на изображении и вычислять размеры по ним. Он предназначался для измерения внешнего вида домов. Он мог следовать за соединенными стенами, которые, как он мог предположить, находились под прямым углом.

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

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

person drawnonward    schedule 07.07.2010
comment
Спасибо за предложение. Конечно, будет сложно реализовать, но, возможно, лучших вариантов нет. - person Ben Williams; 07.07.2010
comment
@drawnonward: я не знаю. Я все еще предпочитаю метод метания... :) - person Adrian Grigore; 09.07.2010
comment
Определенно, это лучший способ, и более точный! - person Mateus; 15.03.2013

Я думаю, что проще всего это сделать с помощью теоремы Пифагора. Большинство комнат имеют высоту 8 или 10 футов, и если пользователь может точно угадать, вы можете использовать камеру, чтобы провести некоторый анализ и обработать числа. (Возможно, вам придется иметь какой-то умный способ определить угол)

Как это сделать

Я ожидаю 5 баллов от вашей прибыли за это;)

person coneybeare    schedule 07.07.2010
comment
Неплохая идея, хотя просить пользователя угадать высоту своего потолка немного противоречит цели. Но, как вы сказали, большинство комнат имеют стандартную высоту. Спасибо за предложение. - person Ben Williams; 07.07.2010

Посмотрим, поможет ли это. Возьмите предмет известной длины и держите его рядом со стеной, а с помощью Iphone сфотографируйте стену вместе с предметом, который вы держали рядом со стеной. Теперь получите соотношение ширины стены и ширины объекта из изображения в Iphone. А так как вы знаете ширину объекта, вы можете легко рассчитать ширину стены. повторите это для каждой стены, и у вас будет размер комнаты.

person Jitendra Sharma    schedule 08.07.2010

Ваши пользователи могут измерять известное расстояние, измеряя его, и таким образом калибровать продолжительность своего шага. Затем они могли ввести расстояние до каждой стены в шагах, и телефон конвертировал их в футы. Вероятно, это было бы очень удобно и, вероятно, имело бы точность в пределах 10%.

Если им могут понадобиться более точные показания, дайте им возможность ввести измерение с помощью рулетки.

person Chris Garrett    schedule 07.07.2010
comment
@ChrisF: Это работает и для роста, просто свяжитесь с местным продавцом радиоактивных, генетически измененных пауков. - person Morfildur; 08.07.2010

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

Возьмите объект известного размера и сфотографируйте его, прижав к стене, а iphone прижмите к другой стене (необходимы два человека или блутак). Затем вы можете рассчитать расстояние между стенами, взглянув на размер объекта (в пикселях) на фотографии. Вы можете использовать PDF-файл, чтобы сделать печатный документ объектом известного размера и использовать 2D-штрих-код, чтобы заставить iphone забрать его.

person Christopher Edwards    schedule 28.08.2011

Когда пользователь хочет что-то измерить, он фотографирует это, но на самом деле вы делаете два отдельных изображения, одно с включенной вспышкой, другое с выключенной вспышкой. Затем вы можете проанализировать разницу освещения в изображении и отражение вспышки, чтобы определить масштаб изображения. Я думаю, это будет работать только для близких и не слишком блестящих объектов.

Но это единственный другой способ, которым я думал о вычитании масштаба из изображения без каких-либо фиксированных объектов.

person hakiko    schedule 15.03.2013