I am looking at making an app that uses a camera to measure the amount of light present when an image is taken. Some conditional behavior would take place based on how much light was present – ie display a message saying “Looks like bedtime” if it looks like it is dark.
I understand that this will be a pretty poor measure of the actual amount of light present due to exposure and things like that, but it doesn’t need to be super accurate.
I have no experience with image processing, so I don’t even know what to ask, or what is feasible. Is this possible? Are there any C libraries for doing something like this?
A very rough estimate could be made by converting each colour channel value of each pixel to its intensity, using the known or assumed gamma of the camera. Then just sum the intensities across the whole image.
If you want the level to approximate that observed by a human, you will weight the green channel intensity higher and the blue channel lower (since our eyes are particularly sensitive to green, and insensitive to blue).