主要内容

createMask

从 ROI 创建二值掩膜图像

说明

bw = createMask(ROI) 返回二值掩膜图像,其中 ROI 内的像素设置为 true,ROI 外的像素设置为 false。掩膜的大小与 ROI 关联的图像相同。

示例

bw = createMask(ROI,m,n) 返回大小为 [m,n] 的二值掩膜图像。

bw = createMask(ROI,I) 返回二值掩膜图像,其大小与图像 I 相同。

bw = createMask(ROI,hImage) 返回二值掩膜图像,其大小与 Image 目标 hImage 相同。

示例

全部折叠

将一个图像读入工作区并显示它。

I = imread("pears.png");
imshow(I)

Figure contains an axes object. The hidden axes object contains an object of type image.

在图像上绘制椭圆形 ROI,使用 Center 名称-值参量指定椭圆的位置,使用 SemiAxes 名称-值参量指定椭圆的形状。指定椭圆的边缘是一条条纹线。

h = drawellipse(Center=[447 204],SemiAxes=[78 72], ...
    RotationAngle=287,StripeColor="m");

Figure contains an axes object. The hidden axes object contains 2 objects of type image, images.roi.ellipse.

从 ROI 中获取二值掩膜。ROI 内的像素为 true,ROI 外的像素为 false。显示掩膜。

mask = createMask(h);
imshow(mask)

Figure contains an axes object. The hidden axes object contains an object of type image.

通过使用 imageshow 函数将一个图像读入工作区并显示它。

I = imread("peppers.png");
imObj = imageshow(I);

获取包含图像的查看器窗口的句柄。

viewer = imObj.Parent;

在洋葱周围绘制一个手绘形状 ROI。

freehand = uidraw(viewer,"freehand");

基于 ROI 创建一个二值掩膜。ROI 内的像素为 true,ROI 外的像素为 false。显示掩膜。

mask = createMask(freehand);
imageshow(mask)

输入参数

全部折叠

感兴趣区域,指定为与 imshowimageshow 显示关联的 ROI 对象。

掩膜图像的行维度,指定为正整数。

掩膜图像的列维度,指定为正整数。

输入图像数组,指定为数值数组。

输入图像对象,指定为由 imshowimageshow 函数创建的 Image 对象。有关详细信息,请参阅 imshow 显示的 Image 属性imageshow 显示的 Image Properties。如果 hImage 对应于一个多级分块图像,则最精细的分辨率级别确定掩膜图像的大小。

输出参量

全部折叠

二值掩膜图像,以逻辑数组形式返回。

数据类型: logical

提示

  • 有关对 ROI 边界上的像素进行分类的详细信息,请参阅Classify Pixels That Are Partially Enclosed by ROI

  • 如果您指定的掩膜大小与 ROI 目标所关联的图像大小不匹配,则 createMask 会将掩膜裁剪或零填充到指定的大小。对于 imshow 显示,与 ROI 目标相关联的图像为 ROI.Parent.Children(2,1).CData。对于 imageshow 显示,与 ROI 目标相关联的图像为 ROI.Parent.Children

版本历史记录

在 R2018b 中推出

全部展开