How to combine three colour channels into the 'best' sRGB representation using a colour checker chart?
Mostra commenti meno recenti
There is probably no 'right' answer for this but I would appreciate some advice from image experts!
I have a 16-bit 1280 x1024 monochrome camera. I want to use this to create some realistic colour pictures (or as close as possible to a true rgb representation). To do this, I am using three colour bandpass filters and a white light source. My filters are narrower than the Bayer rgb filters on a professional camera.
For interest, the filters are:
- Bandpass λ= 593 – 666 nm ("red filter")
- Bandpass λ= 540 – 577 nm ("green filter")
- Bandpass λ= 430 – 490 nm ("blue filter")
My workflow:
- I shine the white light source on an xrite colour checker, which is a chart of 24 colour squares, of which red, green and blue are primary colours typical of colour photographic processing.
- I take a monochrome image of the colour checker squares through each of the three filters. So I now have 3 greyscale images of the squares. I can then import the image greyscale values into Matlab to create a 1280 x 1024 x 3 array.
- I scale and bias the array values, and then export a RGB image that is as close as possible to the 'true' colours. I know that it can't be perfect.
How do I do step 3?
The xrite colour checker squares have known sRGB values (0-255). For example: red square [180 49 57], green square [67 149 74], blue square [35 63 147] (Source - page 5).
For my three monochrome images, when I examine the greyscale values of the red, green and blue squares under the three filters, I get the following mean greyscale values.
- Image 1 - Red filter: Red square 28540, green square 8507, blue square 4077
- Image 2 - Green filter: Red square 6636, green square 35605, blue square 8917
- Image 3 - Blue filter: Red square 11129, green square 26291, blue square 51405.
Proportionately, these raw figures don't look far off the colour checker's sRGB values, which is a good start. Perhaps I just need a linear combination that minimises the difference.
(It looks as though the blue content of the white light was higher than the red/green content because the greyscale values are generally higher for the blue filter. So some normalisation of images 1-3 may be required.)
Anyone have experience with this?
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Color in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!