Public Lab Research note

Cheap single-camera system for NDVI with Professional precision

by Albertazzi | March 14, 2014 13:44 14 Mar 13:44 | #10180 | #10180

What I want to do

Hi all, I'm following your site form my project. I want to use UAVs for crop monitoring with cheap tools available for everyone. I found this paper:

It looks really promising, since it shows that what I had in mind was possible. It shows how to combinate the 3 camera channels to get the best NDVI possible, in particular on a Canon 500D/350D, recreating the real NIR and R channels as a linear combination of the R G B channels. Without a sort of calibration about the sensitivity of each channel, the NDVI won't be really scientifically reliable, since each channel will get an amount of light and translate it into brightness according to its sensitivity, which will be unknown.

The paper shows how to overcome that problem. I really would love to recreate the procedure with a more light and cheap camera, like a normal Canon powershot or something like that, but I don't have the necessary gears to follow the whole procedure.

Questions and next steps

Any of you knows if the equation showed in the paper could be useful also with other compact Canon model without any modification. I wonder if it could be possible, since the sensor between the 350D and the 500D is different, so maybe it is a matter of sensor producer.


There is not much easily accessible information in that paper, but maybe what they did is this:

They removed the IR blocking filter from a camera, and put filter in front of lens that blocked all wavelengths shorter that 600 nm -- like a Wratten 25A. Several of us have done the same thing. So the camera now sees only red and near infrared, not blue or green. But the blue and green channels of the camera are sensitive to some red and NIR, so all three channels have a mixture of wavelengths between 600 and about 1000 nm. Each channel has a different mixture, and they somehow use that difference to compute the proportion of red to NIR. Of course, the red channel will be dominated by red light with some NIR, and the blue channel will be dominated with NIR with almost no red (the blue Bayer filter blocks most red). We have been using those two channels without mathematical modification to represent red and NIR, respectively, and computing NDVI. They apparently can do a little better using math, especially to get a better estimate of red (which is mixed with NIR in the red channel). But it is not clear from the paper how much better, or exactly how to get the coefficients they present for their camera (equations 4 and 5). Maybe someone can get more out of that paper than I could.


Reply to this comment...

Hi Chris, here:

they explain very well how they take all the data. They do some math to combine the informations they have in all the 3 channels to reconstruct perfectly the NIR and R channel. With a 600nm filter (they chose that wavelenght because it leads to better results, according to a formula that minimize the distance between "real" and "reconstructed" NIR and R channel, equation 10 in the second paper) they get:

B = NIR, G = NIR, R = R + NIR,

What everybody here use to do (me too!) is to use those channels to compute NDVI, but in this way we don't take into account the different sensitivities of the channels to each wavelenght, and we accept the R channel to be contaminated with NIR light. We therefore overstimate the R channel in an unknown proportion adding NIR light to it, and use the B channel as pure NIR, but we don't know what "quantity" this channel is taking of the real NIR information.

By using the procedure indicated in the 2 papers, they more or less perfectly reconstruct both channels, as can be seen in FIG. 3 on the right in the first paper: they get the same exact values of a Hyspex VNIR-1600 camera. NDVI is then computed ad a professional multispectral camera. The same procedure can be done with all the cameras we normally use, but it needs some specific tools (like a spectography) which I don't have and don't know how to use... It would be nice to follow this procedure, since it would lead to perfect results even with compact cameras, without having the doubt on "how much reliable" our collected data are! What do you guys think?


Is this a question? Click here to post it to the Questions page.

Reply to this comment...

Ciao Alberto, i'm working on something similar, I have modified a couple of cameras. See some results on


Reply to this comment...

Login to comment.