2011-01-03 12 views
32

È possibile misurare la distanza dell'oggetto con la fotocamera del telefono. Voglio dire, nella mia applicazione avvio la fotocamera, di fronte alla telecamera per l'oggetto (diciamo casa) e poi premo il pulsante e calcola la distanza e mi mostra sullo schermo.È possibile misurare la distanza rispetto all'oggetto con la fotocamera?

Se è possibile dove posso trovare alcuni tutorial o informazioni su di esso?

+14

hey smartphone, produttori! tempo di aggiungere un mirino laser ai tuoi sensori! –

+1

+1, cercando lo stesso, hai trovato esempi di lavoro o soluzioni? – Mangesh

+0

Distanziometro laser Leica Disto D810: http://ptd.leica-geosystems.com/en/Leica-DISTO-D810-touch_104560.htm App Leica Disto: https://play.google.com/store/apps/ dettagli? id = de.ffuf.leica.sketch & hl = it – GuruM

risposta

23

Ebbene si dovrebbe leggere come ithinkdiff.com "misure" la distanza:

Utilizza l'angolo di iPhone per stimare la distanza da un punto sul terreno. Tenere l'iPhone di fronte a sé, allineare il punto nella fotocamera e ottenere una lettura diretta della distanza di . La distanza può quindi essere utilizzata nello strumento di velocità.

Quindi, in pratica, l'altezza del punto in cui si tiene il telefono (livello degli occhi), quindi, è necessario puntare la fotocamera sul punto in cui l'oggetto tocca il suolo. Quindi il telefono misura l'inclinazione e con la semplice trigonometria calcola la distanza.

Questo ovviamente non è molto accurato. Diventa meno preciso quanto più l'oggetto è. Inoltre, presuppone che il terreno sia a livello.

+2

È possibile allora. Non preciso ma possibile :) – evilone

8

No. La fotocamera può solo darti dati di immagine e un'immagine da sola non ti dà abbastanza informazioni per darti informazioni approfondite. Se avessi più immagini per cui disponevi di informazioni sulla posizione o addirittura video, potresti quindi elaborarle per triangolare la distanza, ma una singola immagine da sola non sarebbe sufficiente per darti una distanza.

+0

Ma con la videocamera lo è? Voglio sviluppare un'applicazione come questa su iPhone http://www.ithinkdiff.com/turn-iphone-speed-measuring-gun-speedclock-download/ – evilone

+1

Beh, non è così semplice come "pulsante, ottieni la distanza", ma sarebbe più probabile che fosse possibile. Ma ti richiederebbe comunque di avere informazioni sulla posizione in vari punti del video. Se hai fatto il video di un muro con un cerchio bianco solido di un piede dipinto su di esso, a partire da 10 piedi e chiudendo a 5 piedi, potresti usare l'elaborazione/geometria dell'immagine per capire quanto lontano fosse quel cerchio. Per i vostri scopi la risposta generale è "no". –

+0

Ho aggiunto il link al video ciò che voglio ottenere. Se è possibile con iPhone, penso che sia possibile con Android. Ma ho bisogno di un inizio, da dove cominciare. – evilone

0

No. Solo con due fotocamere in modalità stereo, come xbox 360 kinect. Occorrono almeno 3 punti per triangolare la distanza.

50

Accetto che la domanda sia stata risolta in modo adeguato (con i doveri evidenti di richiedere un terreno livellato e problemi di accuratezza possibili) ma per coloro che non credono che possa essere fatto o che ha bisogno di una videocamera, lasciatemi spiegare basso livello matematica necessaria per farlo ....

alt text

L'immagine qui sopra mostra me in piedi fuori da casa mia. L'orizzontale (d) è la distanza che voglio misurare e la verticale (h) è l'altezza dal suolo in cui sto tenendo la fotocamera. In questo caso 'h' è un valore noto quando tengo la fotocamera Android all'altezza degli occhi (circa 67 pollici o 1,7 metri). Quando inclino la fotocamera per puntarla direttamente sul punto in cui la mia casa incontra il terreno, tutto il software deve fare l'angolo (a) relativo alla verticale e può calcolare "d" usando ...

d = h * tan a 
+1

Solo non funziona su/giù collina –

+0

Sestante è un dispositivo utilizzato per calcolare l'altezza di qualsiasi oggetto. Può essere d'aiuto – Nepster

+0

Soluzione intelligente! –

2

Hai l'angolo nell'accelerometro del telefono. Se si calcola la tangente di questo angolo e si moltiplica per l'altezza dell'obiettivo della telecamera, si ottiene la distanza.

0

Penso che this App usi l'approccio menzionato da MisterSquonk (è gratuito). Guarda la tecnica "Trigonometria".

0

Penso che usando FastCV sia possibile calcolare la distanza tra Camera e l'oggetto. In questo Non è necessario conoscere l'angolazione o la posizione della telecamera che si sta tenendo sopra il livello del suolo. dai un'occhiata a questa domanda here

0

Un modo per ottenere questo è utilizzare i DPI nel dispositivo. Puoi scattare una foto e calcolare l'altezza.Ma avrai bisogno di un altro oggetto come riferimento e poi sarai in grado di conoscere il problema con questo metodo potrebbe essere la prospettiva tra gli oggetti

2

Puoi usare la tecnica usata dal nostro occhio per ottenere una prospettiva di profondità e distanza .

1) Ottieni 2 immagini dello stesso oggetto da due diverse posizioni della telecamera.

2) La distanza o i pixel tra l'oggetto in 2 immagini è inversamente proporzionale alla distanza tra fotocamera e oggetto.

L'implementazione è disponibile a https://github.com/agnelvishal/Distance-between-camera-and-object Ecco l'articolo di ricerca http://dsc.ijs.si/files/papers/S101%20Mrovlje.pdf

Problemi correlati