在MATLAB中使用ROI

Mat*_*ner 3 matlab image-processing

我需要计算我在CT图像上定义的感兴趣区域中的平均像素值.我使用imfreehand绘制ROI,但我不知道如何继续进行像素值计算.谁能帮我?

Sam*_*rts 15

这个怎么样?

制作一些数据:

>> im = [rand(200,200),rand(200,200)*2];
Run Code Online (Sandbox Code Playgroud)

显示它并使用imfreehand以下方法选择ROI :

>> imagesc(im)
>> h = imfreehand;
Run Code Online (Sandbox Code Playgroud)

此搜索

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

>> mask = createMask(h);
Run Code Online (Sandbox Code Playgroud)

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

>> im(~mask) = NaN;
>> figure; imagesc(im)
Run Code Online (Sandbox Code Playgroud)

图像2

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

>> mean(im(mask))
ans =
      0.83782
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!