Calculate mean of gray Value

6 ビュー (過去 30 日間)
arame sotudegan 2021 年 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 件)

Chad Greene 2021 年 3 月 31 日
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!