Basta convertire l'immagine in YUV format e calcolare la media del canale luma. La conversione del colore è un'operazione tipica e qualsiasi framework di elaborazione delle immagini adeguato lo supporta. Ad esempio, OpenCV (hai detto OpenGL, ma in realtà non ha nulla a che fare con l'elaborazione delle immagini, presumo che tu intendessi OpenCV) ha CvtColor.
Se non si dispone di un tale quadro a portata di mano, ma hanno accesso alle intensità dei pixel, è possibile utilizzare l'equazione:
Y' = 0.299*R + 0.587*G + 0.144*B
per ottenere il canale luma, e poi calcolare la media. R, G e B rappresentano rispettivamente i canali rosso, verde e blu.
EDIT
Si noti che è possibile che la fotocamera compenserà vivaci scene scure/modificando la sua apertura. Questo dipende dalla fotocamera, ma penso che la maggior parte delle fotocamere faccia questo - altrimenti le tue immagini possono finire sia sature (bianco puro) o nero semplice - in entrambi i casi, inutile. Occhi umani in realtà do the same thing.
Il lato negativo è che è difficile dire se ci si trova in un ambiente buio o luminoso semplicemente guardando un'immagine. In tal caso, potrebbe essere necessario andare oltre l'immagine e interrogare la telecamera. In teoria, puoi farlo direttamente attraverso un driver (improbabile) o forse osservando i metadati dell'immagine (ad esempio con JPEG, c'è EXIF).
Infine, non hai detto cosa esattamente vuoi sapere della luminosità di. Se è la scena generale, allora la media sarà abbastanza buona. Se è parte della scena, potresti dover fare qualcosa di un po 'più intelligente. Facci sapere se questo è il caso.
Grazie, immagino che debba funzionare. Farò un tentativo e postare il risultato qui. – krafter
Dai un'occhiata al mio commento modificato: ho identificato un potenziale problema e alcuni modi per risolverlo. – misha
Sì, questo funziona davvero: ottenere informazioni sui pixel dividendoli nelle intensità del colore e calcolando Y come mostrato qui. Poiché ho bisogno del valore di luminosità medio di piccole (veloci) pulsazioni luminose prima che la fotocamera possa adattarsi ad esso, questo metodo funziona bene. Grazie ancora. – krafter