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 views (last 30 days)
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)

Accepted Answer

John BG
John BG on 26 Apr 2016
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
  2 Comments
Vladimir Zorin
Vladimir Zorin on 27 Apr 2016
A1=A(:,:,1);A2=A(:,:,2);A3=A(:,:,3) Y_CCIR601=.299*A1+.587*A2+.114*A3
Where should I put this, in which line on the work sheet?
John BG
John BG on 23 Feb 2017
A=imread('flip_this.jpg');
imshow(A)
A1=A(:,:,1);A2=A(:,:,2);A3=A(:,:,3);
surf(Y_CCIR601,'LineStyle','none')
colorbar
.
.
If you find this answer of any help solving your question,
please click on the thumbs-up vote link,
thanks in advance
John

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 26 Apr 2016
Edited: Image Analyst on 26 Apr 2016

Community Treasure Hunt

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

Start Hunting!