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 次查看(过去 30 天)
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)

采纳的回答

John BG
John BG 2016-4-26
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 个评论
Vladimir Zorin
Vladimir Zorin 2016-4-27
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 2017-2-23
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

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2016-4-26
编辑:Image Analyst 2016-4-26

类别

Help CenterFile Exchange 中查找有关 Image Segmentation and Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by