Plotting an image with its coordinates and RGB values

I have a question about plotting images in Matlab. I have a 3D array which includes the X-Y-Z coordinates of each point and their RGB values as below:
surface=zeros(2000,2000,6); %%after filling the matrices, surface(:,:,1:3) represents RGB values for each point and surface(:,:,4:6) represents the X-Y-Z coordinates of each point and Z is zero so it's a 2D image
Is it possible to retrieve the image based on this array? I have taken a look at plot(),interp2() and ... non of them do what I want.
Thank you very much

Answers (3)

I think that
imshow(surface(:,:,1:3))
should do the trick...
Thank you for your answer. Actually I want to plot the image of a colorful wall taken by a camera so the coordinates of all the points should be interpolated . The above code only returns the initial image of wall without considering the relative position of reference frames.(camera reference frame and the wall reference frame)

1 Comment

My question is how to plot an image with (x,y,r,g,b) ?

Sign in to comment.

"X-Y-Z" does not sound like a 2D image, but like 3D voxels.

Asked:

on 31 Jan 2019

Answered:

Jan
on 31 Jan 2019

Community Treasure Hunt

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

Start Hunting!