MATLAB - 如何测量图像中圆形区域的平均强度?

时间:2017-07-22 06:20:08

标签: matlab image-processing

我想要图像的平均强度,而不是整个图像,但仅限于某个感兴趣的区域。这恰好是圆形的,我知道它的半径和位置的细节。

在圆形ROI内部(未绘制圆圈,使用半径和位置)。我不想掩盖图像并删除外部因为这会为平均值添加不必要的数据点。

2 个答案:

答案 0 :(得分:1)

您可以使用布尔索引

%创建图片:

[xx, yy] = meshgrid(1:100);
r = 23; x0 = 45; y0 = 67;
pixelsInSphere = ((xx-x0).^2 + (yy-y0).^2 < r);
im = pixelsInSphere.*(128+10*randn(size(yy)));
figure; imagesc(im);

%使用布尔索引计算像素的平均值:

m = mean(im(pixelsInSphere));

答案 1 :(得分:0)

您可以创建一个指标函数,该函数给定像素(i, j)的位置,它会说明它是否在ROI内部。

循环覆盖图像中的所有像素 根据指标对ROI中的像素求和。