在MATLAB中使用ROI

时间:2011-11-30 08:43:20

标签: matlab image-processing

我需要计算我在CT图像上定义的感兴趣区域中的平均像素值。我使用imfreehand绘制ROI,但我不知道如何继续进行像素值计算。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:15)

这个怎么样?

制作一些数据:

>> im = [rand(200,200),rand(200,200)*2];

显示它并使用imfreehand选择投资回报率:

>> imagesc(im)
>> h = imfreehand;

image1

从投资回报率制作一个面具:

>> mask = createMask(h);

只是为了显示发生了什么,将区域设置在ROI NaN之外,并显示:

>> im(~mask) = NaN;
>> figure; imagesc(im)

image2

计算ROI内部像素的平均值(大于0.5,因为我选择了一个区域到中间的一侧):

>> mean(im(mask))
ans =
      0.83782

希望有所帮助!