Public Lab Research note

NDVI cape for the beagle bone.

by gpenzo | March 25, 2015 23:01 25 Mar 23:01 | #11723 | #11723

gpenzo was awarded the Basic Barnstar by warren for their work in this research note.

gpenzo was awarded the Excessive Enthusiasm Barnstar by jarrarte for their work in this research note.

What I want to do

This is a follow up of Accessible Vegetation Indices I want to make a dual camera setup NDVI camera. All the calculations and image manipulation is in the camera system it self.

My attempt and results

I made a cape for a beaglebone black with two cameras and an lipo battery for power source, the cameras are mono cameras. One camera has 650nm +/- 30nm band filter. And the other has a pass filter from 800nm to 1100nm. See my previous post for more camera information. Below you can find two exmaple of NDVI, where the exposure of each camera was done manually. Pictures are not 100% on focus yet.

Camera system


Garden red filter


Garden IR filter


Garden NDVI garden_ndvi.jpg

Grass land red filter


Grass land IR filter


Grass land NDVI filter


Cape needs to replace current setup.


Next stpes.

At this moment the exposure of the camera is set manually. The cape has a light sensor for visible light and infrared ligth. I still need to make an algoritm which will automaticlly set the exposure of both cameras. Also working on the code which will do the image mapping and calclate NDVI. At this moment I'm using the Fiji plugin. Also working on a website which wil run on the beagleboneblack. All the configuration and viewing will be done by the website. Waiting for my eom gps modules, all images will be geotaged. My drone is broken at this moment but hopefully next month I can make pictures from the sky. So allot of work to do.

What do you guys think of the pictures. The camera are low resolution 752x480. As a farmer told me "I do not need mega pixels images to know if my corps are doing well" and I agree. This pictures are good enough to make a conclusion of the land.

Regards Grayson


Hi Grayson, This looks really nice - a great little setup. I think you made good choices: using two sensors close together with a (relatively) narrow band red filter and low/moderate resolution sensor so image size is easier to process and there are benefits to integrating the signal from a larger ground surface area in a pixel. If you are able to calibrate the sensors so they record radiance that would be fantastic but even without that you will get images that show relative changes in NDVI (or whatever index you choose to use) across the image and that should be fine if you're looking for signs of vegetation stress. There are some Python libraries for SIFT image matching that you could explore if the FIJI plugin is too cumbersome for the work you want to do. Or, you can feel free to add a geotagging option to the FIJI plugin. Well done. Thanks for sharing.


Reply to this comment...

Very nice indeed.

Reply to this comment...

Hello Ned, I'm going to calculate the x,y and rotation offset between the ir and vis pictures by doing a camera alignment with opencv. Becuase my cameras are rigid the offset will not change over time. With this offset, calculating NDVI will be very fast. For every 100 or 200 pictures (need to see if this is needed) the system will ask the user to preform a camera alignment and calculate the new offsets. I have some farmers who are interested in this camera. I also have a farmer who wil sponsor me for a system with 4/5 cameras on it. He wants to calculate NDVI WDVI,NDRE and REP. But that is a summer project. First let get this one finished. Allot of software to write. 3D printed enclosure to make. Keep you guys posted.


Reply to this comment...

This is very exciting to see - we'd very early on tried to get a Raspberry Pi dual cam system working:

And had also looked at the form factor of dual lens reflex cameras, like the Rolleiflex:


("Rolleiflex f2-8-F" by Sputniktilt - Own work. Licensed under CC BY-SA 3.0 via Wikimedia Commons -

Yours looks so great! I'm also curious; how long does it take to boot up? I'm looking at making a single camera setup with a Raspberry Pi or Beaglebone soon, and want to know how close to a "regular camera" the boot sequence would be.

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

Reply to this comment...

Hello Warren. I never measure the boot time but it boots fast, I can login via ssh after 1 minute or so. And it take a couple of minutes before my drone takes of. The boot time is not problem for me, I keep the camera running. With the current lipo battery it can run for hours. I was thinking to go the pi way but than I need two pi. I need to keep the setup light for my drone. So I went he BBB cap direction. And you can make the cape as custom as you want :). This project has two phases. A NDVI cape and a multi spectraal cap with 4 cameras on it with different filters to calculate other indexes. But as I said allot of coding to do. Need to have the prototype finished before May. Have some farmers who want to use it this growing season.


Reply to this comment...

What a great job! Thanks for sharing. I'm doing something similar with a MT9D111 camera and an ARM :

Reply to this comment...

I can't seem to find the layout or code. Can anyone share a link or two?

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

Reply to this comment...

What model cameras are you using?

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

Reply to this comment...

Login to comment.