MATLAB: I am using a colour image to create a 3-d plot of pixel intensity. I have to turn it gray for the project to work, but I would like to know how to make the 3-d plot of pixel intensity, on the original without changing its colour.

3-d plotpixel intensity

close all;clc;clear all;
resize_value = 0.3; % 0From to 1
% TraceImage = imresize(rgb2gray(imread('Trace6.jpg')),resize_value);
TraceImage = imresize(rgb2gray(imread('f1-38-6st.jpg')),resize_value);
original = TraceImage;
bw = im2bw(TraceImage,graythresh(TraceImage)); %
% 3D http://www.mathworks.com/matlabcentral/answers/91442-how-do-i-create-a-3-d-plot-of-the-pixel-intensity-of-an-image-in-matlab
I=TraceImage;
[x,y]=size(I);
X=1:x;
Y=1:y;
[xx,yy]=meshgrid(Y,X);
i=im2double(I);
figure;mesh(xx,yy,i);
colorbar
figure;imshow(i)

Best Answer

What you call pixel intensity, is the grey scale, or luminance.
The link you have is just a NxM grey scale.
What you seem to want is to go from NxMx3 coloured image to grey scale and back.
Basically, you translate RGB to greyscale with
A1=A(:,:,1);A2=A(:,:,2);A3=A(:,:,3)
Y_CCIR601=.299*A1+.587*A2+.114*A3
If you find this answer of any help solving your question,
please click on the thumbs-up vote link,
thanks in advance
John