How to calculate intensity value of an image ?

10 visualizzazioni (ultimi 30 giorni)
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..

Risposta accettata

Image Analyst
Image Analyst il 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 Commenti
julia jemila
julia jemila il 24 Mar 2013
Modificato: Image Analyst il 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 il 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.

Accedi per commentare.

Più risposte (2)

Mona
Mona il 25 Giu 2013
how can i find : the total number of possible intensity levels in hyper image?
is it the total number of bands?
  1 Commento
Image Analyst
Image Analyst il 25 Giu 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.

Accedi per commentare.


Poornima Devi
Poornima Devi il 23 Gen 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 Commenti
YOGITAA YOGITAA
YOGITAA YOGITAA il 2 Mar 2022
could you please share the code?
Image Analyst
Image Analyst il 2 Mar 2022
Modificato: Image Analyst il 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:

Accedi per commentare.

Categorie

Scopri di più su Convert Image Type in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by