2015-08-29 6 views
8

Sto tentando di ridurre l'abbagliamento prodotto quando si scatta una foto o un video di una superficie riflettente; Finestra, occhiali o altro dispositivo mobile.Android - Riduzione dell'abbagliamento sulla fotocamera (foto/video)

Ho fatto qualche ricerca sull'argomento, e sembra che esistano alcuni algoritmi. Ma devo ancora trovare un'implementazione codificata.

Il motivo per cui ho bisogno di questo è perché sto facendo un'applicazione che consente di leggere colori diversi sullo schermo di altri dispositivi utilizzando la fotocamera sul dispositivo. E se c'è molta luce vivida, i colori non verranno letti correttamente. Deve essere in grado di distinguere tra 16 colori.

Esistono implementazioni esistenti e, in caso affermativo, come dovrei implementarle in Android?

+0

Quali lingue esistono questi algoritmi in? È possibile scrivere un'interfaccia in codice c/C++ nativo tramite Android NDK. –

+0

Quasi sicuramente avresti bisogno di usare NDK per quello che stai descrivendo comunque, l'implementazione di java sarebbe probabilmente troppo lenta. –

+0

Non sono molto abile con C++. Lo darei un'occhiata. – TastyLemons

risposta

3

Si consiglia di eseguire una soglia sopra una sfocatura gaussiana per identificare i punti luminosi nell'immagine e rimuoverli. OpenCV è lo standard del settore e la soluzione migliore per la manipolazione delle immagini. Consiglio di eseguire prima alcuni esperimenti su un computer per fare in modo che il flusso del processo sia il primo, prima di spostarlo su un telefono. Inoltre, stai lontano da qualcosa di troppo nuovo/complicato.

[1] How to detect Hotspots in an image

[2] http://opencv.org/platforms/android.html

+0

Molto interessante. Ho fatto alcuni esperimenti. Ti farò sapere come va. – TastyLemons