Public Lab Research note


Analyzing NDVI Imagery Using Blender

by unsignedint | August 27, 2014 11:33 27 Aug 11:33 | #11080 | #11080

Blender

Blender is a Free Software for 3D modeling and rendering. The software also contains an extensive suite of image adjustments and composition.

Motivations

Using software, I have attempted to create node settings that allow researchers easy and efficient way to generate a composite image for NDVI imageries.

The advantage of this setting includes:

1) The software is free, and runs on various platforms

2) It's easy to adjust individual components, such as color maps, as well as channel adjustments.

3) Image files can be packed into single "blend" file. Research can send others one file containing the complete set up of the original researcher. ("Lab in a file")

4) Processing movie files or set of image sequences (such as time lapse) is no harder than processing a still image.

Process

First, for this example, I have used an image that came with a Infragram point-and-shoot camera. (Mobius Actioncam)

This file was named example-before-processing.jpg. I wanted to plug this into Blender process, therefore I have imported this image into Blender, using a input node.

example-before-processing.jpg

The process pass is as follows. (Please see the attached .BLEND file for details.)

1) Image input is separated to RGBA, breaking B component, connecting the rest to RGBA combiner.

2) I have applied color map, I have tried with Ned's protanopia-friendly lut as a color map for this example. I have also included a color ramp using one of the examples in the New NDVI colormap

3) Finally coloring is mixed, 50/50, coming from "GB" component of the image, as well as "B" component mapped to the color ramp -- balance for this component can be adjusted to fit your need, too.

Result

I have obtained the following result using this process.

composite.png

You can download the BLEND file below:

infragram.blend.zip

Further Improvements

(Added on 2014-08-27)

I have further investigated better separation of the needed component, by subtracting R component (visible light) from B, to filter out visible light portion of the image, which provided the sample below.

postsubtr.png

This could be mapped to the color scale:

infracomp.png

Better separation also allows me to composite the result better to the visible light, which may be appropriate for identifying possible vegitation activities.

inframap.png

Updated version of BLEND file containing this setting is available below:

infragram-2014082701.blend.zip

Yet Another Improvements

I have combined NDVI processing into group node -- which (hopefully) doing the NDVI processing correctly.

infragram-2014082702.blend.png

improved-ir.png

improved-ircomp.png

improved-irhighlight.png

improved-iroverlay.png

improved-test.png

Updated BLEND file: infragram-2014082702.blend.zip (The earlier version I have uploaded had a mistake in a fomula, please download again if you have downloaded prior.)

Version Similar to Infragram.org Output

Infragram.org provides web based conversion, and I have created version of BLEND file that can provide similar color maps.

infragram.org.blend.zip

This can provide three type of output, similar to Basic, Colorized, and combined (basically Colorized format overlayed by visible light -- no Stretch and Fastie colormap, yet)

sample_basic.png

sample_colorized.png

sample_combined.png

Some Examples From My Yard (and Surroundings)

0001.png

0002.png

0003.png

0005.png

0004.png

myyard.blend.zip

Conclusion

Blender has a potential to efficiently process image NDVI images for various applications. I would like to experiment with it further to improve the process further.

Next Step

I am still new to NDVI, having just received the camera a day ago. My future attempts, including trying the process using additional images as well as trying better color ramps and adjustments.

Comments, suggestions and improvements are highly appreciated!

Some Random Closing Comments

Spell check messed it up and this article used to be "Analyzing NDVI Imaginary Using Blender" -- I fixed it, it's not imaginary, it's a real thing :-)


4 Comments

Blender looks to be quite capable. I have some questions about your 3 step process to make the color mapped image:

  • What is the "A" in RGBA?
  • You said you applied the color map to the image, but did you also compute NDVI for each pixel? Or apply a color map to the original photo?
  • Does the blending in the third step explain why the color in the sky is not a color in the color gradient you used?

There seems to be great potential here.

Chris

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

Reply to this comment...


Hello Chris! Answering your question

What is the "A" in RGBA?

Alpha. For this application, it probably does not make any difference whether I pass-through alpha component, as the original JPEG is just "RGB"

You said you applied the color map to the image, but did you also compute NDVI for each pixel? Or apply a color map to the original photo?

Color map to just "B" component of the original photo. After reading your comment, I have realized that I might have processed much of the visible light component went through the B filter. I have added further experiment of subtract visible right component ("R") from "B" which seems to be producing consistent result from supposedly "processed" image provided as an example. (I will post comparison to that later.)

Does the blending in the third step explain why the color in the sky is not a color in the color gradient you used?

Yes, it's probably for the fact, as I said above, the process also processed visible light went through "B" channel.

The last example seems to indicate that it's no longer affecting components such as color in the Sky.

inframap.png

I will be certainly experimenting more to produce more "prettier" presentation of the output.

Another great thing about Blender is that additional processing can be defined in Python, which may provide added functionality to process this image in a way it's more useful.

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

Reply to this comment...


This B&W and green image is so striking!

Reply to this comment...


Hello liz, I think B&W+Green reveals the presence of IR very clearly. The problem is that the intensity is hard to tell, so other color schemes are still useful, but if all you need to do is to identify where they are, it'll do its job!

Reply to this comment...


Login to comment.