2012-01-02 10 views
42

Ho fatto riferimento a molti collegamenti ma ancora non riesco a ottenere alcun punto da cui posso iniziare il mio sviluppo. Voglio misurare l'altezza, la larghezza e la distanza dell'immagine utilizzando la fotocamera. Ho trovato questo app. Voglio rendere questo tipo di applicazione non esattamente identica ma piuttosto identica, ma per le mie esigenze desidero misurare l'altezza, la larghezza e la distanza dell'immagine utilizzando la fotocamera.Come misurare altezza, larghezza e distanza dell'oggetto usando la fotocamera?

Qualcuno può darmi/suggerirmi nel modo giusto o in qualsiasi esempio in modo che possa avere più idea di questo requisito.

ho provato questo:

http://android-er.blogspot.in/2012/04/gets-distances-from-camera-to-focus.html

+2

Se hai trovato qualche soluzione può u favore scrivere il codice sorgente per trovare la distanza, larghezza e altezza di qualsiasi oggetto.Si prega di ?? – Chiradeep

+0

Sto affrontando lo stesso problema. Per favore aiutatemi.Se qualche idea.Thanks in anticipo .. – jagdish

+0

Hai già trovato qualche soluzione? –

risposta

2

Non è possibile .. Si dovrebbe conoscere:

  • Quanto è l'oggetto (si può conoscere la tua posizione GPS da .. ma la posizione dell'oggetto?)
  • Qual è la lunghezza focale della fotocamera

Forse, solo forse se l'oggetto è stato taggato otticamente con ad esempio un codice QR, e hai una mappa code-to-loc ...

+0

Se conoscessi l'angolo di visuale della telecamera ... –

+4

sì, è possibile. qui: http://stackoverflow.com/questions/5284493/get-angle-of-elevation – drulabs

7

Se si conosce l'angolo della finestra della fotocamera, è possibile utilizzare l'altezza in pixel per determinare l'angolo dall'alto verso il basso dell'oggetto. Poi, usando la distanza e calcolare l'altezza arcotangente:

height = arctan(angle) * distance 

per trovare l'angolo finestra, puntare la fotocamera a qualcosa che è di altezza nota, e renderlo esattamente riempie lo schermo. Per esempio, puntatelo su un righello e fatelo abbastanza lontano da poter vedere a malapena le estremità del righello. Misurare la distanza dalla telecamera, e poi il tuo angolo totale viewport è

viewportAngle = tan(ruler_length/distance) 

Quindi, supponiamo che la fotocamera è 480px di altezza (webcam a buon mercato), e l'angolo di visualizzazione è di 20 °. Se hai un oggetto sullo schermo alto 240px, il suo angolo è 10 °. Se sai che è a 2 metri di distanza, potresti dire 2 feet * arctan(10°) = ~4.1 inches alto. (Penso che ... sono le 2 di notte, quindi potrebbe essere un po 'spiacevole)

+1

buono ma come indicato da @ Péter Varga è necessario conoscere la distanza dall'oggetto. – TheVillageIdiot

+2

Sembra che l'app utilizzi l'accelerometro per misurare l'angolo rispetto alla base dell'oggetto e quindi assume un'altezza del telefono da terra (in genere circa 5 piedi) per misurare la distanza. Potresti fare qualcosa del genere ma non sarebbe particolarmente accurato. – Tim

+0

@Mansi Per prima cosa dovresti avere un'idea dei metodi concettuali usati prima di scrivere qualsiasi codice. http://en.wikipedia.org/wiki/Inverse_trigonometric_functions – Tim

1

Prima di tutto dirò a Nizza che dovrei sviluppare questa app.

Ora non ne sono sicuro, ma se riesci a ottenere il rilevamento del volto come qualcosa per qualsiasi oggetto nella fotocamera Android, con l'aiuto di ciò puoi ottenere quel risultato.

Beh, non ne sono sicuro, ma ho comunque dato qualche opinione in modo da poterne avere un'idea.

Tutto il meglio. :))

+0

Grazie a iDroid .. :) – anddev

27

Penso di sapere cosa stai chiedendo. Ecco cosa puoi fare.

prima ottenere l'altezza della persona dire h metri.

sample image

se è possibile calcolare l'altezza della fotocamera da terra (in base all'altezza se la persona cioè h) ed ottenere gli angoli A e B con giroscopio o qualcosa da Android allora si può calcolare l'altezza dell'oggetto usando la formula sopra.

Non è questo quello che stavi cercando ???

fatemi sapere se avete bisogno di spiegazioni.

+0

ha funzionato su Android? Ho provato ma non funziona? se hai una demo di esempio puoi caricarla in alcuni punti in cui può aiutare gli altri .. :) – Sumant

+2

è molto difficile calcolare il valore "h" - non ci sono API per questo! – Stan

+1

senza bisogno di API. Usa la matematica per calcolare H usando la formula. "h" è quello che devi assumere in base all'altezza della persona. Forse prendere l'altezza della persona come input. – drulabs

13

Per misurare le distanze con una singola telecamera, è necessario conoscere alcuni numeri. Per misurare l'altezza di qualcosa, ad esempio una sedia, l'unica cosa che hai è la dimensione della fotocamera (che è in pixel e può essere convertita in pollici usando le dimensioni dello schermo), questo è tutto. La possibilità di misurare l'altezza e la larghezza è utilizzare un riferimento, ad esempio una persona alta 6 piedi in piedi accanto alla sedia.

In questo modo è possibile lavorare in retromarcia usando dire un oggetto alto 10 piedi, usando le sue dimensioni come appaiono nella fotocamera, è possibile calcolare la dimensione delle cose alla stessa distanza, su una superficie che non è piatta, anche assicurando che siano alla stessa distanza è una sfida.

Quindi, utilizzando la fotocamera e solo la fotocamera, non è possibile. Hai bisogno di sapere la distanza in qualche modo, o hai bisogno di un riferimento.

Se si utilizza l'applicazione per misurare l'altezza degli oggetti che si conoscono, quindi utilizzando il GPS, è possibile trovare la distanza e il resto è matematica.

Ho trovato alcuni collegamenti utilizzando Google, possono aiutare.

  1. http://forestjohnson.blogspot.com/2010/01/how-to-measure-size-of-object-using.html
  2. http://gigaom.com/mobile/how_to_measure_/
  3. http://www.iphonelife.com/blog/5/cameasure-use-your-camera-measure-size-or-distance

Essi possono aiutare a scoprire quali altre informazioni sono necessarie diverso da quello che la macchina in grado di fornire, in modo che si può pensare l'applicazione come bene riguardo a cosa si può fare e quali sono i limiti.

Un modo è l'utilizzo di più telecamere e può essere compensato utilizzando più immagini scattate a distanze note. Quindi l'applicazione può chiedere all'utente di scattare più immagini, tracciare la distanza utilizzando il GPS e probabilmente può funzionare.

vedere questi legami così:

  1. http://iopscience.iop.org/1742-6596/48/1/074/pdf/1742-6596_48_1_074.pdf
  2. http://www.optical-metrology-centre.com/Downloads/Papers/Photogrammetric%20Record%201994%20Automated%203-D%20measurement.pdf
3

Se ci pensate, una scansione del corpo i raggi X (presso il centro medico) anche bisogno di questo tipo di misura per stimare le dimensioni dei tumori. Quindi posizionano una moneta da 1 dollaro sul corpo, per effettuare una misurazione comparativa.

Anche il giornale viene stampato con alcuni segni sugli angoli.

È necessario un riferimento per misurare. Può essere che tu possa indurre la tua persona a indossare un berretto con alcune chiari cerchi verdi. Una volta riconosciuta la dimensione del cerchio, puoi misurare comparativamente il rimanente.

Oppure è possibile creare un cerchio trasparente da 1 pollice che si sovrapporrà sul viso, spostare la fotocamera verso/da il viso, puntare il cerchio sovrapposto su quel cerchio verde brillante sul cappuccio. Quindi sulla tua foto sarà come per scala.

2

Se si dispone di uno smartphone Android, l'app Smart Measure sarà misurare la distanza e l'altezza di un oggetto:

image

+1

Questa app è fantastica a un livello accettabile rispetto ad altre app. Ma non può misurare l'altezza giusta dell'oggetto quando la fotocamera è vicina all'oggetto. – nhoxbypass

Problemi correlati