文档

lazysnapping

使用基于图的分割方法将图像分割为前景和背景

语法

BW = lazysnapping(A,L,前掩码,后掩码)
偷懒(A,L,前,后)
BW =懒人小睡(V;___
懒人小睡(___、名称、值)

描述

例子

BW= lazysnapping (一个lforemaskbackmask分割图像一个进入前景和背景区域使用惰性抓拍。标签矩阵l指定映像的子区域。foremask而且backmask是掩码,分别将图像中的像素指定为前景和背景。

懒人小睡(一个lforeindbackind分割图像一个分成前景和背景区域。foreind而且backind指定图像中分别标记为前景和背景的像素的线性索引

例子

懒人小睡(V___分段量V分成前景和背景区域。

懒人小睡(___名称,值使用名称-值对控制分割的各个方面来分割图像或卷。

例子

全部折叠

将图像读入工作区。

RGB = imread(“peppers.png”);

将图像上的位置标记为前景。

图;imshow(RGB) h1 = impoly(gca,[34,298;114,140;195,135;...259200; 392205; 467283; 483104),“关闭”、假);

将位置转换为线性下标。

foresub = getPosition(h1);foregroundInd = sub2ind(size(RGB),foresub(:,2),foresub(:,1));

在图像上标记位置作为背景。

图;imshow(RGB) h2 = impoly(gca,[130,52;170,32],“关闭”、假);

将位置转换为线性下标。

backsub = getPosition(h2);backgroundInd = sub2ind(size(RGB),backsub(:,2),backsub(:,1));

生成标签矩阵。

L =超像素(RGB,500);

执行惰性捕捉。

BW = lazy ysnapping(RGB,L,foregroundInd,backgroundInd);

创建蒙版映像。

maskedImage = RGB;maskedImage(repmat(~BW,[1 1 3])) = 0;图;imshow (maskedImage)

将三维体积图像加载到工作空间。

D =负载(“mri.mat”);V =挤压(D.D);

创建2-D蒙版,识别初始前景和背景种子点。

seedLevel = 10;fseed = V(:,:,seedLevel) > 75;bseed = V(:,:,seedLevel) == 0;图;imshow (fse)

图;imshow(疯牛病)

将种子点放入空的3-D蒙版中。

fmask = 0 (size(V));Bmask = fmask;fmask(:,:,seedLevel) = fseed;bmask(:,:,seedLevel) = bseed;

生成一个三维标签矩阵。

L = superpixels3(V,500);

使用Lazy snaps将图像分割为前景和背景。

bw = lazysnapping(V,L,fmask,bmask);

显示三维分割图像。

图;P = patch(isosurface(double(bw)));p.FaceColor =“红色”;p.EdgeColor =“没有”;Daspect ([1 1 27/128]);camlight;照明冯氏

输入参数

全部折叠

输入图像,指定为实数、有限、非稀疏数值数组。为而且图片,lazysnapping假设图像的范围为[0,1]。为uint16int16,uint8图片,lazysnapping假设范围为给定数据类型的完整范围。如果这些值与基于数据类型的预期范围不匹配,请将图像缩放到预期范围或进行调整EdgeWeightScaleFactor提高结果。

数据类型:||int16|uint8|uint16

输入体积,指定为一个实的、有限的、非稀疏的数值数组。

数据类型:||int16|uint8|uint16

输入图像或卷的标签矩阵,指定为数值数组。对于二维灰度图像和三维体积灰度图像,大小为l必须匹配输入图像的大小一个.对于彩色图像和多通道图像,l必须是一个二维数组,其中前两个维度与输入图像的前两个维度匹配一个

不要将标签矩阵的给定子区域标记为同时属于前景蒙版和背景蒙版。如果标签矩阵的一个区域包含同时属于前景蒙版和背景蒙版的像素,lazysnapping分割区域作为背景。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

定义前景的掩码图像,指定为逻辑数组。对于二维灰度图像和三维体积灰度图像,大小为foremask必须匹配输入图像的大小一个.对于彩色图像和多通道图像,foremask必须是一个二维数组,其中前两个维度与输入图像的前两个维度匹配一个

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

定义背景的掩码图像,指定为逻辑数组。对于二维灰度图像和三维体积灰度图像,大小为backmask必须匹配输入图像的大小一个.对于彩色图像和多通道图像,backmask必须是一个二维数组,其中前两个维度与输入图像的前两个维度匹配一个

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

标签矩阵中像素的线性索引,指定为数值向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

定义背景的像素的线性索引,指定为数值向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

名称-值对参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在单引号内(' ').您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:

全部折叠

连接组件的连通性,指定为由逗号分隔的对组成“连接”和下列之一:4或8为2-D图像,6、18或26为3-D图像(卷)。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

标签矩阵子区域之间边缘权重的比例因子,指定为逗号分隔的对,由“EdgeWeightScaleFactor”一个正标量。典型值范围为[10,1000]。增加这个值会增加发生的可能性lazysnapping将相邻的子区域标记为前景或背景。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

输出图像,作为与标签矩阵相同大小的数字数组返回,l

算法

Li等人开发的Lazy snap算法使用K-means方法将前景值和背景值聚类。这种惰性抓取算法的实现不会聚类相似的前景或背景像素。要提高性能,请减少标识为前景或背景的具有相似值的像素的数量。

参考文献

[1]李玉玉,简世生,唐春春,沈鸿辉,惰性抓取,第31届计算机图形与交互技术国际会议论文集,2004。

在R2017a中引入

这个话题有用吗?