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)
Show older comments
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)
0 Comments
Accepted Answer
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.
Have a look to my answer: http://uk.mathworks.com/matlabcentral/answers/273939-how-to-convert-stance-image-from-index-to-grayscale
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
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
More Answers (1)
See Also
Categories
Find more on Image Segmentation and Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
