Matlab 绘制ROI并计算平均差

Matlab 绘制ROI并计算平均差,matlab,roi,Matlab,Roi,我有两张CT图像。如何在两幅图像上绘制多个ROI,并使用matlab计算每个ROI之间的平均差?我使用了'imrect'或'imellipse',但是这个命令创建了一个遮罩,使图像成为二值图像,然后我将无法计算平均差 如何显示ROI绘制的图像?不太清楚如何使用imrect。这是一个想法;我会这样做的。你必须用实际的编程来代替GUI,但这是非常基本的东西,而且只要你理解了索引就很容易,这在MatLab中非常好,你应该从下面的答案中学习: 首先,定义ROI的大小,这可以很容易地通过变量来实现 wid

我有两张CT图像。如何在两幅图像上绘制多个ROI,并使用matlab计算每个ROI之间的平均差?我使用了'imrect'或'imellipse',但是这个命令创建了一个遮罩,使图像成为二值图像,然后我将无法计算平均差


如何显示ROI绘制的图像?

不太清楚如何使用imrect。这是一个想法;我会这样做的。你必须用实际的编程来代替GUI,但这是非常基本的东西,而且只要你理解了索引就很容易,这在MatLab中非常好,你应该从下面的答案中学习:

首先,定义ROI的大小,这可以很容易地通过变量来实现

width=20; %or whatever you wish
height=10;
然后使用位置的左上角定义多个ROI

ROI11=Image1(corner1:corner1+width,corner1:corner1+height); %(width and height eventually the other way around, whatever)
ROI12=Image1(corner2:corner2+width,corner2:corner2+height);
%...
ROI21=Image2(corner1:corner1+width,corner1:corner1+height);
ROI22=Image2(corner2:corner2+width,corner2:corner2+height);
%...
然后根据你的意愿计算平均值,例如:

Mean1=sum(ROI11-ROI21)/length(ROI11(:));
Mean2=sum(ROI11-ROI21)/length(ROI11(:));
%...
或者类似的东西

试一下,玩一下