How can i plot the intensity of each row in an image?
3 views (last 30 days)
Show older comments
This is what I have so far for my code. I was either going to use intensityValue or improfile but I don't really understand how it works.
I = imread('C:\Users\student\Pictures\2017-07-11\image.jpg');
warning('off', 'Images:initSize:adjustingMag');
%intensityValue= I (100,500);
%improfile
imshow(I);
0 Comments
Answers (2)
Prashant Arora
on 17 Jul 2017
Edited: Prashant Arora
on 17 Jul 2017
Hi Amelia,
I am assuming you have a 2-dimensional Image I. You can directly use the value in the image matrix to plot the intensity. For example:
I = imread('liftingbody.png');
x = 1:size(I,1);
y = 1:size(I,2);
[X,Y] = meshgrid(x,y);
plot3(X,Y,I)
5 Comments
Walter Roberson
on 17 Jul 2017
Prashant Arora wrote "I am assuming you have a 2-dimensional Image I." . Your image is not 2D. You need to do rgb2gray to get intensity.
AKSHAY KUMAR
on 12 Mar 2019
after using rgb2gray it still shows the same image as that of attached file
Walter Roberson
on 17 Jul 2017
Edited: Walter Roberson
on 17 Jul 2017
surf( rgb2gray(YourRGBImage), 'edgecolor', 'none' )
colormap(gray(256))
12 Comments
Walter Roberson
on 19 Jul 2017
max() and mean() have different calling sequences. max(A, B) is element-by-element max(A(I,J), B(I,J)) unless B is empty, [], in which case max(A, []) is the same as max(A, [], 1) which is per-column maximum. max(A, [], 2) is per-row maximum.
mean(A,1) is per-column mean, and mean(A,2) is per-row mean.
See Also
Categories
Find more on Surface and Mesh Plots 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!