Convert 2D image to 3D with color map

18 views (last 30 days)
michael
michael on 7 Jul 2016
Commented: michael on 12 Jul 2016
Hello,
I have a color image of radiation pattern.
I'd like to convert this image into a 3D image, based on color map (which is coming along with the image).
Example of image that I have.
Please suggest.
  1 Comment
Guillaume
Guillaume on 11 Jul 2016
Edited: Guillaume on 11 Jul 2016
What do you call a 3D image? And how do you intend to visualise it?
Where is the 3rd dimension encoded if you start with a 2D image?

Sign in to comment.

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 7 Jul 2016
Y = ind2rgb(X,map)

Image Analyst
Image Analyst on 7 Jul 2016
That's an RGB image so it's already 3D.
By 3-D, do you mean a surface, like you'd get from surf()? If so, you'll have to read the colors in your color bar and then create a colormap - a 10 by 3 array of RGB colors. Then you'll have to use rgb2ind() to turn that RGB image into a single valued, monochrome image, at which point you can then use surf to make a 2.5-D perspective rendering where the gray level is like a height above the x-y plane.
  7 Comments
Image Analyst
Image Analyst on 11 Jul 2016
I can agree with that. They're both 3D arrays but they're just interpreted differently. One is interpreted as a color or hyperspectral image while the other is interpreted as a grayscale volumetric image. You could even have a 4D array interpreted as a color volumetric image or as a series of color images (like a video). To view a 3-D monochrome or color volumetric image you'd have to use a different program like Avizo, because MATLAB just isn't set up for that kind of visualization and is limited to primitive cut-away slice views and isosurfaces.
michael
michael on 12 Jul 2016
I have 2D image which is colored. I'd like to use the color as the 3rd dimension, based on color map.
In the image which was attached, red has a value of 90 and therefore it would be the highest point in the 3rd dimension, then orange, yellow, green and blue which would be nearly 0 in the 3rd dimension.
Hope that it is more clear now.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!