Taking a photo of a small red LED causes the resultant photo to have the top of the LED to be white than red. I'm using a Canon S-120 I've tried many different setting with no luck. My friend who is not into photography using his iPhone got great results.
The iPhone is handling this better because of its automatic HDR.
The LED is white (really, a very, very light pink, to my eye) because it's so bright your camera's sensor overloads and "bleeds" into adjoining green and blue pixels (or because the small percentage of red that gets through the filters on the blue and green elements is still enough to nearly max them out -- another possibility pointed out in comments is that the LED output isn't of high spectral purity -- that is, it looks red but still has some blue and green wavelengths; multiplied by a large overexposure and pixel clipping, this becomes whiter in proportion to the level of overexposure). An iPhone (and many other current smart phones with top-line cameras) automatically takes multiple exposures and combines them to preserve detail across a wider brightness range than the sensor can record in a single image.
If you were to do the same (bracket exposure and perform HDR mixing) you'd get similar results with any controllable camera, regardless of the mechanism making the LED appear whiter than it should.
There are a few factors here.
- Camera sensors generally have a much narrower dynamic range than the human eye.
- The camera will generally expose based on the overall brightness of the scene.
- The color filter elements on the camera sensor are not hard stops, the "green" and "blue" filters will still let some red light through.
The result of the first two factors is when you have small bright light sources in a scene they will typically be overexposed. The result of the third factor is that overexposed items in a scene will typically look white.
So what can you do about it, you potentially have a few options.
- Increase the ambient light level, so that the light sources are relatively less bright and the auto-exposure on your camera reduces the exposure of the light sources.
- Reduce the exposure on your camera (smaller apeture, shorter shutter time or lower ISO), this will make the rest of the scene darker, which may or may not be acceptable).
- Use high dynamic range imaging techniques where multiple exposures are taken at different exposure settings and then combined.
When a colored light source is all white in a photo it means the light source is overexposed to the point all three color channels are fully saturated.
Even if the light is "pure" red, some of the red light will make it through the blue and green filters of the Bayer mask in front of the sensor. There's no hard cutoff between the differently colored filters. This isn't a flaw, it's intentional. These color filters emulate the cones in the human retina, which also have a lot of overlapping sensitivity between short-wavelength, medium-wavelength, and long-wavelength cones. The overlapping sensitivity is, in fact, necessary in order for our brains to create a perception of color.
If a light is red then the red-filtered photosites (a/k/a sensels or 'pixel wells') on the sensor will have receive several times as much light striking them as the blue-filtered and green-filtered photosites will, but they'll all get some of that red light. When the red light source is properly exposed the amount of light recorded by the red-filtered sensels will be several orders of magnitude higher than the amount of light recorded by the blue and green filtered sensels. This means it is possible to fully saturate the red-filtered sensels without saturating the blue and green ones. But if you expose too brightly until the blue and green filtered sensels are also saturated then the red will be no more fully saturated because the red will be exposed several times over the maximum amount of light it can measure. There's no way to tell how far past full saturation a sensel has been exposed. It could 100.001% (1.001X) of full capacity, 1,000% (10X), 10,000% (100X), or even 100,000% (1,000X) full saturation, and the sensel will record the same amount in each case: 100% (1.0X) of full capacity.
It's like trying to tell the difference between 2 inches, 10 inches, and 100 inches of rain using a rain gauge that can only hold 1 inch before it overflows. You have no way of knowing how much more than 1 inch of rain fell.
In order for an image to contain usable information (which is what we would call a properly exposed photo), some of the "rain gauges" (i.e. sensels) have to be fuller than others. If they're all totally full then there is no difference between any part of the image and there is no usable information.
To reduce exposure you have several choices:
- Reduce the camera's sensitivity by setting it to the lowest ISO setting.
- Reduce the amount of light entering the camera by using a narrower aperture setting (higher f-number).
- Reduce the amount of time the light is entering the camera by using a shorter shutter time. Each time you halve the amount of time the shutter is open you halve the amount of light that strikes the sensor. If an image is pure white it usually means you need to halve the shutter time at least three times (i.e. three "stops"). For example, instead of 2 minutes (120 seconds), try 15 seconds. Or instead of 1/30 second try 1/250 second.
- Reduce the amount of light striking the front of the lens by using a neutral density filter. They are available in various strengths from one stop (half the light) to ten stops (1/1024 the light). Avoid cheap "variable density" filters if possible. They cause a lot of image quality problems and color shifts.
The blue and green pixels of the sensor of your camera are still capturing some light from the LED. That's normal. Color is recovered from the difference between RGB levels, but if the picture is overexposed where is the LED that difference may be very little or none, so it looks more white.
Try control exposure with your camera, and take a darker photo. The LED should look more reddish, but the surroundings more dark.