A couple of years ago I developed a multispectral camera based on the compute module of the ...
Public Lab is an open community which collaboratively develops accessible, open source, Do-It-Yourself technologies for investigating local environmental health and justice issues.
As an open source community, we believe in open licensing of content so that other members of the community can leverage your work legally -- with attribution, of course. By joining the Public Lab site, you agree to release the content you post here under a Creative Commons Attribution Sharealike license, and the hardware designs you post under the CERN Open Hardware License 1.1 (full text). This has the added benefit that others must share their improvements in turn with you.
A couple of years ago I developed a multispectral camera based on the compute module of the Raspberry Pi. Hardware wise, the camera is pretty much done, and I'm planning to launch a campaign in Kickstarter to produce the final product.
Now, there is some work to be done in terms of data processing. So far, the camera captures images with the raw bayered data attached in a numpy array, which is demosaiced and then separated in 4 different bands and saved using opencv as a tiff image.
As expected, the raw, bayered, data is quite dark and has twice as many green pixels due to the raw format being rggb. I would like to know if there is someone who would like to collaborate improving the processing pipeline.
Below a test photograph I took sometime ago. I will follow up with some better pictures once I receive new lenses and NIR filters.
Thanks for your comment. Picamera has a very simple de-mosaic algorithm. The way I've been analysing the images is by load them directly from the RPi into Matlab, where I further de-mosaic them, adjust the white balance and so on.
Here you can see an example of a raw image processed in Matlab.
I'm busy now installing opencv directly into the CM, which seems to be very straight forward but it's not. The 4GB size of the CM makes you very limited in terms of what you can install.
I like #image-sequencer. It would be very interesting to develop a variation of it customised for aerial imaging. It would have to include things like radiometric calibration, vignette correction, gradient (which it's already included), and maybe an image registration or mosaic builder.
People could then buy the hardware, capture images and process them using #image-sequencer.
Let me know what you think.
Reply to this comment...
Hi, I think that would be great. I'm trying to do an install of infragram in one recipe here, and if that works, I may do the same for image-sequencer, and set it up to run automatically on all images taken. If you're interested in trying to open a PR for this, I'm happy to help get it moving! It'd be installing image-sequencer instead of infragram: