Question: Cheap multispectral camera

maykef asked on October 12, 2018 09:54
49 | 0 answers | #17281


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.



image description


It would be amazing if you could do this. I tried to capture RAW data but could never figure out how to de-mosaic, color balance and scale from 10 to 8 bits. Makes you appreciate everything the picamera does to make images/video .

One option to consider for post processing is image sequencer. I don’t think it accepts TIFF but its open source format makes it adaptable to new tasks.

See below for an image sequence that tries to scale plants to green/blue and objects to yellow/red.

Hi MaggPi,

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. IMG_0000_undistorted.tiff

Log in to comment

0 Answers

Sign up or Login to post an answer to this question.