# Calculate mean of gray Value

2 次查看（过去 30 天）
arame sotudegan2021-3-31 Hello, In this picture I want to calculate mean of the circle. but when I use mean( ) it calculates all the pixels including the black ones, so the mean value decreases. Is there a way to calculate only the gray value?

### 采纳的回答

DGM 2021-3-31

Something like this:
% mean of non-black regions
mean(mypicture(mypicture>0))
This assumes that the image background is actually zero; otherwise, you can test that it's above some threshold value

### 更多回答（1 个）

Try this. Below I'm creating an example matrix M, and calculate the mean of only the values that exceed zero:
M = peaks(100); % example matrix
M(M<=0) = 0;
figure
imagesc(M)
colormap(gray)
colorbar mask = M>0; % logical mask corresponding to all values greater than zero
figure mean(M(mask),'all') % mean of all values of M that exceed zero.
ans = 1.1528

### Community Treasure Hunt

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

Start Hunting!