Question: I am getting very low NDVI values.

Anice is asking a question about ndvi
Follow this topic

by Anice | January 09, 2019 08:21 | #18084

Good day!

I am experiencing a problem regarding the NDVI values I have acquired after conducting aerial imaging over a sugarcane plot using a modified RGN, CHDK-enabled Canon SX230 camera (Rosco Fire #19 filter). I am also using a card (contained in the Infragram Kit) to calibrate (customize white balance) the camera under a shaded location.The NDVI values I have acquired ranges from -0.336 to 0.106 only. This was taken under clear skies.

Studies have commonly used an NDVI scale where: < 0.1 = barren rock, sand, snow, or water; 0.2 to 0.5 = sparse vegetation such as, shrubs or grasslands; 0.6 to 0.9 = healthy, dense vegetation. Following this scale, would this mean that the NDVI value I took meant that the sugarcane crop is very unhealthy or dead?

Below is a sample of the raw (left) and recolored image of the plot.

image description


Although the absolute values you computed for NDVI are lower than they should be, it appears that your process is successfully discriminating between high and low levels of photosynthesis. This is an encouraging start. There are a few adjustments which could produce more realistic NDVI values.

For future photography:

  1. Exposure is important. Darker or lighter photos will produce different ranges of NDVI.
  2. Custom white balance on a different color paper or in different light can make a big difference. A good color to search for is a deep red or purple like the one here.

To modify the results from the current photos:

  1. Modify the values in the red channel of the aerial photos to compensate for the contamination of the red channel with NIR light. This will make the red values smaller and therefore make the NDVI values bigger.
  2. Stretch the values in one or both channels so that they are spread over more of the entire range from 0 to 255. Depending on the exposure of the aerial photos, most of the values in a channel could be similar to one another instead of including more of the potential range. A simple rescaling of the values can alter the range of the final NDVI values. Ideally, the aerial photos would be taken so that the values better exploited the entire potential range, but post-photography rescaling is a hack that sometimes works.


Thank you for your immediate response Chris. This is very helpful!

Regarding modifying the values in the red channel of the aerial photos, I have read that there is a ratio of blue (NIR) that needs to be subtracted from Red to compensate for the NIR contamination. However, I struggle with the amount of blue that must be subtracted from Red, as I don't know the basis for this amount.

Information on spectral sensitivity of my camera would have been useful for this, however, there is no available data on it upon research.

It will always be difficult to know for sure to what degree the red channel is contaminated by NIR. It might be worthwhile making an estimate. For example you could assume that the amount of NIR contaminating the red channel is equal to twice the brightness of the blue channel. Or you could just reduce the value in the red channel by 30% or 40% and see how the results look. When you find a procedure that gives reasonable results under certain conditions, you can repeat that procedure in similar conditions and make qualitative comparisons.

Such estimates of the contamination might seem arbitrary and hard to defend, but you have already made an arbitrary adjustment by doing a custom white balance using a colored card (of unknown spectral reflectance) illuminated by daylight (of unknown spectral quality). Without a rigorous calibration procedure (e.g., using calibration targets of known spectral reflectivity), there is very little that is defensible in this type of NDVI process unless your results are compared with some independent information about the relative photosynthetic activity in different parts of an image.


Hi Chris,

I am experiencing the same problem with my NDVI values. Can you help on how you manipulated the red channel to resolve the issue.


Reply to this comment...

Log in to comment