How can i plot the intensity of each row in an image?

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

Answers (2)

Prashant Arora
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
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
AKSHAY KUMAR on 12 Mar 2019
after using rgb2gray it still shows the same image as that of attached file

Sign in to comment.


Walter Roberson
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
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.
Amelia Biase
Amelia Biase on 19 Jul 2017
Edited: Amelia Biase on 19 Jul 2017
how do i choose a single row in the image to analyze without using improfile?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!