NDVI calculation using image taken from NDVI red lens


Picture of mangrove trees

Hi there, this is actually my first time using SNAP. I have been trying to calculate NDVI value from pictures taken using a modified GoPro (lens was modded with NDVI red lens).
First of all, the bands are what you might find in a normal picture. There’s RGB and gray?. The lens blocks visible spectrum except for red and NIR.
When I tried the NDVI processor, I was confused about which band should I put in the red and NIR? My first guess is red = red, NIR = gray. The calculated NDVI gives out negative values, even on dense vegetation.
Am I doing the right procedure?


if the image has rgb channels, are you able to make a true color composite of it? This would ensure that these are the channels of the visible spectrum and the fourth is infra-red.


Hi, thank you for the info. I thought that if we used the red NDVI filters, only NIR and red are captured by the camera sensors. According to info from https://publiclab.org/wiki/ndvi-plots-ir-kit, blue channel becomes the NIR and red channel = red.

Based on the screenshot (this is a different shot just to differentiate between vegetation and building), the image makes sense, plants look white and buildings dark. But the NDVI still gives negative values.

p/s: I am still learning about this, I do apologize for my ignorance or silly questions:smiley:


No need to apologize for anything.
Calculating indices requires well calibrated data. Only then, 0 is the threshold beteeen water and non-water, for example


Thank you. Could I have some info on how to calibrate the data? Is this something SNAP can do?


SNAP can calibrate optical satellite data when they store information on the calibration in their metadata.
It is often just a transformation of the values, but I doubt that GoPro images have such information. Without knowledge on the exact wavelengths and bandwidths of the channels and their radiance-to-reflectance properties, this is not possible.

Most of the indices are very sensitive towards value variations because they include ratios. If the values don’t represent the same reflectance, you just randomly divide numbers without larger meaning.

The index might show you the relationship between infra-red and the other bands (the higher, the more vital) but you cannot use its absolute values.


Thank you for this. Now I understand why I could not find any references about generating exact NDVI values using images taken using modded cameras. You are right, the GoPro image exif data is very basic and I don’t think calibration is possible with it.
So if I understand your explanation correctly, based on the image I have, I am only limited to a graphical output of the NDVI. Meaning that I could put out a colorized LUT, just to show that this particular area might be more dense/healthy than others, but I could not derive exact NDVI values for comparison. Is this right?


I would say so, exactly.
Please anyone correct me if I’m wrong.


This is just for further information to anyone who might be working on the same thing. So this is the best I could come out, a graphical result for the NDVI. This was done using MAPIR camera control (my modded equipment have the same filter of their NDVI red survey camera. The software is free. Use the blue channel as the NIR and red as red channel.
This is a snapshot of a mangrove area of an important (migratory) bird area feeding. So I am hoping to present a quick vegetation analysis of the area for further conservation effort.