How to calculate intensity value of an image ?

53 views (last 30 days)
i'm doing project in Image retrieval using Krawtchouk moment .. we are calculating the moment value but to do this.. we need to know the intensity value of an image.. plz help us..

Accepted Answer

Image Analyst
Image Analyst on 22 Mar 2013
The image is in a variable. This is an array with rows and columns. The value of the array at each row and column is the intensity. So you already have it.
  7 Comments
julia jemila
julia jemila on 24 Mar 2013
Edited: Image Analyst on 24 Mar 2013
o=imread('car.jpg');
i=rgb2gray(o);
imshow(i)
[r c]=size(i);
s=0;
for p=1:c
for q=1:r
px=impixel(i,c,r);
s=px(1,1)+s;
end
end
s
This is how we calculated the total intensity value. Is it correct or we have to do it for every f(x,y) value?
Image Analyst
Image Analyst on 24 Mar 2013
NO it's not right. you're just summing up the last pixel, (r,c) which is the very lower right pixel, so the value is just the gray level of that pixel times the number of pixels in the image - a totally useless thing. If you just want to sum up the gray level version of your rgb image, you can do this:
rgbImage = imread('car.jpg');
grayImage = rgb2gray(rgbImage);
sumOfAllGrayLevels = sum(grayImage);
But I doubt that is a Krawtchouk moment.

Sign in to comment.

More Answers (2)

Mona
Mona on 25 Jun 2013
how can i find : the total number of possible intensity levels in hyper image?
is it the total number of bands?
  1 Comment
Image Analyst
Image Analyst on 25 Jun 2013
Check out the class of the image. If it's uint8, you can have 256 intensity values. If it's uint16, there are 65536 values. If it's color, there are 256*256*256 possible values for a color uint8 image, and 65536*65536*65536 possible values for a color uint16 image.

Sign in to comment.


Poornima Devi
Poornima Devi on 23 Jan 2018
Sir I am also doing a project which includes the calculation of intensity of each pixel soo can I get the perfect code for it pleaseeeee sir it's urgent
  3 Comments
Image Analyst
Image Analyst on 2 Mar 2022
Edited: Image Analyst on 2 Mar 2022
@Poornima Devi, @Aatheeswaran M, and @YOGITAA YOGITAA, the image array is already the intensity of each pixel. There is nothing left to do - you have it already. If you want the intensity along one particular row only, you can use indexing:
row = 42; % Whatever row you want
horizontalProfile = grayImage(row, :);
If you want the mean of that row, you can use mean():
meanGrayLevel = mean(horizontalProfile);
If you'd like to see an tutorial on image segmentation, see it on my File Exchange page:

Sign in to comment.

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!