Reputation: 1706
Most Android devices have a sensor that measures the ambient light level (illumination) in lx unit. Is it possible to figure out that the existence of a specific wavelength in the light through the sensor?
As you probably already know, the white light itself is made of different wavelength lights e.g. blue light with specific wavelength range, red with another specific wavelength range and... .now is it possible that the sensor figures out that for example are the lights with the wavelength of >100nm and <200nm available in the incoming light?
Upvotes: 4
Views: 3477
Reputation: 11
The answer is No. The ambient light sensor has a very wide pass band. You would have to use an external narrow pass band filter to obtain a measurement of the colour frequency of which you are interested.
Upvotes: 1
Reputation: 5796
Taken from this answer (by Noah Witherspoon):
The camera chip converts a given wavelength of light into a signal by overlaying colored filters—red, green, and blue—onto subpixel sensors that are sensitive to a broad range of wavelengths. As such, the camera isn’t actually sensing the wavelength; it’s sensing the relative strength of the light at a couple of key peak wavelengths. As described in this answer, you can approximate the peak wavelength of a given RGB color by converting it to HSV (hue/saturation/value) and then interpolate from violet to red wavelengths by the hue component.
The answer he is referring to is this one: How to get the wavelength of a pixel using RGB?
Upvotes: 2