How to create a RGB image with reflectances ?

33 views (last 30 days)
Maha
Maha on 2 Jul 2019
Commented: Image Analyst on 11 Nov 2020
Hello everyone,
I have reflectances data (water leaving reflectances ratios), partially corrected from the atmosphere (Rrc) or not (Rrs)
I can plot true colour or quasi true colour images with the different software available (SeaDAS, SNAP, etc). But I would like to do it in Matlab. I can't find any question about it.
We have access to reflectances at different wavelengths, like 490 for the blue, 555 for the green and 650 for the red.
How can I create an RGB image with these matrix ?
Cheers

Answers (2)

Image Analyst
Image Analyst on 1 Aug 2019
  2 Comments
Maha
Maha on 2 Aug 2019
Hum thanks for this answer, maybe my question should be more about how to transform a satellite light signal into an index, and then I could apply your function
Image Analyst
Image Analyst on 2 Aug 2019
Well I've done that using the values of the chromaticity curves and multiple spectral images. Just weight the images by the curves, convert color space, etc. Not sure I could extract it from my program cleanly enough to give it to you though.
Maybe you'd like to see how a published paper discusses it.

Sign in to comment.


MaHa
MaHa on 25 Sep 2020
The question is still up,
The answer from Image Analyst give me weird results (purple / cyan and pink only, weird).
I give a subset of my satellite data, so you may understand it better :
Reflectances values in the Red, Green, and Blue, 3 x 3 pixels :
R = [0.0182, 0.0231, 0.0253;
0.0185, 0.0259, 0.0270;
0.0252, 0.0303, 0.0239]
G = [0.0284, 0.0337, 0.0360;
0.0287, 0.0366, 0.0381;
0.0360, 0.0410, 0.0342]
B = [0.0279, 0.0343, 0.0372;
0.0284, 0.0378, 0.0392;
0.0371, 0.0431, 0.0358]
I just want 4 or 9 pixels of a true colour image with that.
imshow(cat(3,R,G,B)) does give one black pixel.
  3 Comments
MaHa
MaHa on 11 Nov 2020
Thanks for the answer, it is the ocean so it makes sense !
Any idea on how to get "realistic" coeficients for the magnification ? I mean; at the end I just want to create an image that would look like a photo.
Image Analyst
Image Analyst on 11 Nov 2020
If your image is of decent size, like bigger than 300 or 400 lines, it should look fine. You only need to use 'InitialMagnification' for really tiny images so they don't just look like a small dot on the screen.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!