Public Lab Research note

Is there a way to use RGB spectral overlap to make better spectral measurements?

by MaggPi | May 14, 2018 03:14 14 May 03:14 | #16339 | #16339


In reviewing computer vision images from a lego/raspberry pi camera spectrometer I noticed that some of the color channels overlap. This can be seen by splitting the spectral image into RGB components. The picture below shows the overlap. You can see how the light is strong enough (or the camera color filters aren’t good enough} that it can be seen in both red and blue channels. You can also see the spectrum at


Looking at other spectral workbench examples you can also see examples of rgb channel overlap. Another example, thanks to cedarlodge !


Note that while the two pictures have different set-ups some characteristics are the same: there seems to a sharp edge to the red band, blue channel has red overlap and green channel seems to contain the green and yellow portions of the spectrum image.

So, is there a way to use the RGB spectral overlap to make better spectral measurements?

Could the overlap sections be added to improve overexposure settings? Could the first red edge be used for calibration? Could the overlap sections be subtracted to make displayed spectrum colors more realistic?

warren amirberAgain icarito


If you know the spectral sensitivity of each channel in the sensor in the camera you are using, you can adjust the brightness (intensity) at each wavelength based on how sensitive the sensor is. If the Raspberry Pi camera still uses this sensor, you are good to go.


Note the steep cutoff of the red channel around 580nm which you noticed in the diffraction images. The lens on the camera will alter this relationship among colors, so there will still be some guesswork unless you can quantify the characteristics of the lens. The IR cut filter will also alter this relationship.

More at this note:


Reply to this comment...

Thanks! Interesting that 580nm plus or minus x nm could be a type of spectral anchor. I am wondering if an opencv technique could be used to calibrate a spectrum instead of the typical calibration that is done for an image?
For example:

(Also, nice ardunio work BTW)

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

Reply to this comment...

Login to comment.