2011-09-06 16 views
6

Sto facendo un progetto per l'ultimo anno all'università che comporta la realizzazione di un'applicazione medica per Android, come pratica devo fare un'app per monitorare la frequenza cardiaca .Scattare foto ogni 66 millisecondi sul telefono Android per l'analisi del colore (monitor della frequenza cardiaca)

Ho capito che il modo migliore per farlo è cercare i cambiamenti di colore nel sangue quando si tiene la fotocamera contro il dito con il flash acceso.

È qui che entrano in gioco i problemi, è possibile scattare una foto ogni 66 millisecondi sulla fotocamera, quindi confrontare ogni coppia di foto per eventuali variazioni di intensità al fine di contare un battito cardiaco? o sto meglio registrando un video e analizzando ogni fotogramma cercando un cambiamento.

Heck è anche possibile solo guardare l'anteprima del video e confrontare ogni fotogramma.

Le domande che necessitano risposte per questo problema sono ordinatamente elencati di seguito

  • Qual è il metodo migliore per questo, scattare foto, registrare video o guardando l'anteprima dal vivo.

  • È stato rilevato qualche post o pagine posso visitare su internet dove le persone hanno tentato cose simili

  • Chiunque ha un metodo di base devo fare per ottenere due immagini che posso confrontare nei tempi.

  • Infine Se faccio prendere la base scattare una foto ogni approccio 66 millisecondi, che cosa posso fare per garantire l'immagine viene ripresa con gli intervalli di tempo corretti

+0

dolce idea. Forse più realistico è tenere uno stetoscopio al microfono. – Ian

+0

Ciao Antony, sto lavorando su una soluzione simile, calcolo la media di un colore nell'immagine e poi cerco di trovare un pattern e rilevare la frequenza, tuttavia ho scoperto che questo è il valore medio semplice e calcolato di un colore nell'immagine non è sufficiente, hai qualche altra soluzione a questo problema che puoi condividere? – michael

+0

Hey michael, mi arrendo mentre il mio telefono si rompe, tuttavia devi fare qualcosa in più per calcolare la frequenza cardiaca, il principale è centrato attorno alla conversione delle variazioni di frequenza dei valori di intensità in una frequenza Hz su un grafico. per fare questo puoi usare una "trasformazione veloce di Fourier", non sono troppo sicuro di come utilizzarlo, tuttavia, facendo ciò ti restituirò l'Hz che si traduce in frequenza cardiaca :) – Antony

risposta

4

qual è il metodo migliore per questo, scattare foto, registrare video o guardare l'anteprima dal vivo.

Penso che l'anteprima dal vivo sarebbe la risposta giusta. Fotografare non è - non accadrà da nessuna parte vicino a quello rapidamente. La registrazione di video e post-elaborazione sarebbe possibile, ma non riesco a vedere come questo sarà applicabile per un monitor cardiaco in tempo reale.

È stato rilevato qualche post o pagine posso visitare su internet dove le persone hanno tentato cose simili

è possibile esaminare il Barcode Scanner source code, che utilizza l'anteprima dal vivo per eseguire la scansione dei codici a barre.

Infine Se faccio prendere la base scattare una foto ogni 66 millisecondi approccio, cosa posso fare per garantire l'immagine viene ripresa con gli intervalli di tempo corretti

Android non è un RTOS duro. AFAIK sarà impossibile per te esattamente il momento in cui le cose saranno 66 millisecondi.

+0

Grazie fantastico questo è incredibilmente utile , Ho completamente dimenticato che potevo guardare il codice sorgente per lo scanner del codice a barre, assolutamente fantastico! Sì, hai ragione, penso che strappare le immagini dall'anteprima dal vivo sarebbe un modo fantastico di farlo, dato che sarei in grado di rilevare immediatamente un cambiamento di intensità, producendo quindi una stima accurata della frequenza cardiaca. Qualsiasi altro commento, idea o supporto sarebbe molto gradito da chiunque altro. Inoltre, ho intenzione di ottenere uno dei tuoi libri, quale pensi possa essere più utile per me? Grazie per la tua illuminazione – Antony

+0

@Antony: "Sarei in grado di rilevare immediatamente un cambiamento di intensità" - finché 66 ms non sono un requisito indispensabile. Non sono abbastanza sicuro da dove arriva 66ms, almeno il mio cuore batte un po 'più veloce di 16bps :-) "Inoltre, ho intenzione di ottenere uno dei tuoi libri, quale pensi possa essere più utile per me? " - Il mio libro avanzato copre la classe 'Camera', ma non l'API di anteprima dal vivo. Se hai ulteriori domande sui libri, contattami su Twitter o e-mail o qualcosa del genere. (ma grazie per l'interesse!) – CommonsWare

+0

Hey CommonsWare, Ho appena controllato i tuoi diversi libri, tutti sembrano avere qualcosa che potrei trovare utile nel prossimo futuro. l'abbonamento $ 40 potrebbe essere una delle prime cose su cui spendo il mio bel prestito studente brillante. Anche l'ora dell'ufficio privato sarebbe utile se mi trovo davvero bloccato con qualcosa quando provo la vera app medica che ho intenzione di fare. Inoltre ho fatto qualche ricerca online e ho notato che l'anteprima dal vivo restituisce una bitmap che utilizza uno spazio di colore dispari, ti capita di sapere qualcosa sulla conversione in RGB? – Antony

Problemi correlati