NDVI and NRG
pin:activity:ndvi

NDVI stands for "Normalized Difference Vegetation Index". NRG stands for "Near-infrared / Red / Green". NDVI and NRG are both ways to visualize the amounts of infrared and other wavelengths of light reflected from vegetation. Because both these methods compare ratios of blue and red light absorbed versus green and IR light reflected, they can be used to evaluate the health of vegetation. It's a snapshot of how much photosynthesis is happening. This is helpful in assessing vegetative health or stress. (Read more here: https://www.agronomy.org/publications/jeq/articles/36/3/832) ## Do-It-Yourself These techniques for vegetation analysis were developed for satellite imagery, but at Public Lab, we've been working a lot on capturing infrared imagery using our DIY [near-infrared camera](/wiki/near-infrared-camera) setup, and combining it with visible bands to produce NDVI images such as the one above. ## What these images mean What exactly are these images we're trying to make? What do they tell us about vegetation, and why? These diagrams should help to understand what it is we're doing and why these are good ways to analyze plant life. ## The NDVI equation [![NDVI_is_eq.jpg](/i/44723)](/i/44723) **NDVI = (Near Infrared - Red)/(Near Infrared + Red)** NDVI is a ratio which tries to emphasize photosynthesis while filtering out sun glare. The above equation is run for every pixel, using source data from an infrared photo and a visible light photo, like this pair: [![5390895115_c9d4d38fec_o.jpg](https://publiclab.org/system/images/photos/000/021/771/large/5390895115_c9d4d38fec_o.jpg)](https://publiclab.org/system/images/photos/000/021/771/original/5390895115_c9d4d38fec_o.jpg) The result can be false-colored to make the high-photosynthesis areas more clear, and used to examine where plants are and how healthy they are. [![PetVISNDVIcomp.png](https://publiclab.org/system/images/photos/000/021/770/large/PetVISNDVIcomp.png)](https://publiclab.org/system/images/photos/000/021/770/original/PetVISNDVIcomp.png) _Figure above: Normal color photo (right) and normalized difference vegetation index (NDVI) image (left). NDVI image was derived from two color channels in a single photo taken with a camera modified with a special infrared filter. Note that tree trunks, brown grass, and rocks have very low NDVI values because they are not photosynthetic. Healthy plants typically have NDVI values between 0.1 and 0.9. -- @cfastie_ ### Activities Here are a range of activities you can do to produce and interpret your own NDVI imagery, whether downloaded from a satellite imagery provider or [collected yourself using a DIY technique](/wiki/multispectral-imaging) [activities:ndvi] **** ![IMG_0511-split.png](https://i.publiclab.org/system/images/photos/000/000/279/medium/IMG_0511-split.png) ![infrared-combination.png](https://i.publiclab.org/system/images/photos/000/000/278/medium/infrared-combination.png) Most DIY converted cameras today (those from Public Lab) use RGN instead of NRG, so the blue channel represents infrared instead of the red channel. That looks like this: [![rgn-split.png](/i/45468)](/i/45468?s=o) **** ## NRG imagery Some people are also interested in producing NRG imagery (like the below image), where `Near-Infrared, Red, and Green` are used to compose a picture instead of the usual `Red, Green, and Blue`. [![5415783775_502f79ac8c_o.png](/i/25064)](/i/25064) This diagram explains the swapping, which allows us to 'see' infrared as if it were a normal color: [![5396083368_40528d3da2_o.png](/i/25063)](/i/25063) **In NRG images, the deeper and clearer the red color, the denser and healthier the vegetation (more or less).** ### Questions [questions:ndvi] ### Other examples of DIY NDVI imaging From around the internet: Begin watching at 2 minutes to see the resulting imagery: *This topic is part of the [Grassroots Mapping Curriculum](/wiki/mapping-curriculum) series.* **** [![5416397210_5e3be40cf5_o.png](/i/25066)](/i/25066) [![5412520298_93873f36d0_o.png](/i/25065)](/i/25065) ...


Author Comment Last activity Moderation
shahdharam7 "@peter_mansson1 Nice work. The final goal here is to analyze the nutrient effect. Right? The normal camera (Raspberry pi camera) can also get th..." | Read more » 8 months ago
achita_ea "Hi @petter_mansson1 I can not use Cloud Upload in MainNDVI Thise error missing 2 required positional arguments : 'preNDVIFilepath' and 'timestamp' ..." | Read more » about 1 year ago
patalbright "Have you found your answer already or is there anyone else with a feedback on how to know when one found the best balance? :) pretty hard to find i..." | Read more » over 1 year ago
nstarli "Hi Peter, you explained that you used the GUI to manually find your proper balance, however how did you actually quantify what made a good photo? " | Read more » almost 3 years ago
evan_lesmez "Lol wish I had saved the blue filter it shipped with " | Read more » almost 3 years ago
evan_lesmez "This is awesome I am working on implementing this into analyzing my hydroponic garden. Just got my piNoIr camera running & am looking through y..." | Read more » almost 3 years ago
warren " Hi! Just noting that this software stack I mentioned above is configured to run headlessly and to send video over WiFi, including NDVI processing:..." | Read more » almost 3 years ago
petter_mansson1 "I use a combination of PILLOW, numpy and Matplotlib. You can also find all my camera settings in https://github.com/PiddePannkauga/ndviMachine. It ..." | Read more » about 3 years ago
jmdavison12 " Thanks Petter, I'm using a headless Raspberry Pi so I don't have the option of writing a GUI application (without networking the stream and severe..." | Read more » about 3 years ago
petter_mansson1 "Here is my repo for the GUI application. Run the script on your raspberry pi. Think you need to install a Tkinter library. At first I only created ..." | Read more » about 3 years ago
petter_mansson1 " I wrote a simple GUI application using TK for Python with 2 sliders to control AWB gains. That was my approach to finding a good balance. I don't ..." | Read more » about 3 years ago
jmdavison12 " " | Read more » about 3 years ago
jmdavison12 " Hi Peter, What red/blue gains did you use for these photos (I assume you are using picamera)? I know that lighting conditions vary and white bala..." | Read more » about 3 years ago
jmdavison12 "Dang, nice! Didn't realize this was possible with the blue filter that ships with the piNoIR. I can't believe how clear these results are. I'm als..." | Read more » about 3 years ago
petter_mansson1 " Hi Jacob, Cool! It would be interesting to compare ideas. I'm taking a single image, using the blue filter that came with the NoIR camera module..." | Read more » about 3 years ago
jmdavison12 " Wow, great work Peter! Have you not included the non-filtered image used to generate the single channel NDVI? or are you doing 'single image' NDVI..." | Read more » about 3 years ago
ankurp836 " Thanks for buddy Post " | Read more » about 3 years ago
warren "that'd be awesome. The image workflow we've built is javascript based, but it's also possible to use Pi Builder to produce reproducible python tool..." | Read more » about 3 years ago
petter_mansson1 " I was not aware of this. Very cool, I had an idea doing something of the same sort but it's better if we work together! I'd love to share what I'v..." | Read more » about 3 years ago
warren " Hi! This is awesome. Have you seen our Infragram Pi software, somewhat documented at: https://publiclab.org/infragram-pi https://publiclab.org/p..." | Read more » about 3 years ago
Bronwen " This is fantastic! Looking forward to seeing your conclusions! " | Read more » about 3 years ago