How to calculate intensity value of an image ?

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

采纳的回答

Image Analyst
Image Analyst 2013-3-22
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 个评论
julia jemila
julia jemila 2013-3-24
编辑:Image Analyst 2013-3-24
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 2013-3-24
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.

请先登录,再进行评论。

更多回答(2 个)

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

请先登录,再进行评论。


Poornima Devi
Poornima Devi 2018-1-23
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 个评论
Image Analyst
Image Analyst 2022-3-2
编辑:Image Analyst 2022-3-2
@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:

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by