主要内容

bwskel

在2-D二进制图像或3-D二进制体积中减少所有物体到线

描述

例子

B= bwskel (一个减少二维二值图像中的所有对象一个以1像素宽的曲线,不改变图像的基本结构。这个过程称为骨架化,提取中心线,同时保留对象的拓扑和欧拉数(也称为欧拉特征)。

例子

B= bwskel (V返回3-D二进制体的骨架。

B= bwskel (___“MinBranchLength”,N指定最小分支长度N的骨架。bwskel删除(修剪)所有小于指定长度的分支。bwskel对于2-D,使用8-连通性,对于3-D,使用26-连通性,计算长度为一个分支中的像素数。

例子

全部折叠

将2d灰度图像读取到工作空间中。显示图像。感兴趣的对象是在明亮背景下的深色线。

我= imread (“threads.png”);imshow(我)

图中包含一个轴。轴包含一个图像类型的对象。

骨架化需要一个前景像素为二值的图像1(白色),背景是0(黑色)。为了使原始图像适合骨骼化,对图像进行补充,使物体明亮,背景暗。然后,对结果进行二值化。

Icomplement = imcomplement(我);BW = imbinarize (Icomplement);imshow (BW)

图中包含一个轴。轴包含一个图像类型的对象。

执行骨架化的二值图像使用bwskel

= bwskel (BW);

控件在原始图像上显示骨架labeloverlay函数。骨架在暗线上以1像素宽的蓝线显示。

imshow (labeloverlay(我,,“透明”, 0))

图中包含一个轴。轴包含一个图像类型的对象。

修剪骨骼上出现的小刺,并查看结果。从图像中心附近的一根线剪下一个短树枝。

out2 = bwskel (BW,“MinBranchLength”15);imshow (labeloverlay (out2,我“透明”, 0))

图中包含一个轴。轴包含一个图像类型的对象。

将二进制映像读入工作空间。

BW1 = imread (“circbw.tif”);

图形化图像中的对象bwskel函数。

BW2 = bwskel (BW1);

并排查看原始图像和骨架化图像。

蒙太奇({BW1 BW2},“写成BackgroundColor”“蓝”“BorderSize”5)

图中包含一个轴。轴包含一个图像类型的对象。

将一个卷数据集加载到工作区中。数据集的名称是spiralVol.使用以下命令显示音量volshow

负载spiralVol.mat;volshow (spiralVol);

转换spiralVol所要求的二进制格式的数据集bwskel函数。

spiralVolLogical = imbinarize (spiralVol);

将数据集中的螺旋形状骨架化。显示骨骼化的体积与volshow

spiralVolSkel = bwskel (spiralVolLogical);

输入参数

全部折叠

二值图像,指定为二维逻辑矩阵。

数据类型:逻辑

3-D二进制卷,指定为3-D逻辑数组。

数据类型:逻辑

最小分支长度,指定为非负整数。bwskel修剪短于N.默认情况下,bwskel不修剪树枝。

输出参数

全部折叠

骨架化的图像或卷,作为与输入图像或卷相同大小的2-D逻辑矩阵或3-D逻辑数组返回。

提示

  • 虽然两bwskelbwmorph可以骨架二维图像,你可以得到不同的结果使用bwmorph比在使用bwskel.因为他们使用不同的算法bwskel功能使用4-连通性与2-D图像;bwmorph使用8-connectivity。

  • bwskel假设二值图像中的前景对象是白色的(逻辑上真正的).如果您的图像有白色背景和黑色对象,那么使用您的图像的补码作为输入bwskel.你可以用imcomplement

算法

  • bwskel函数使用中轴变换。

参考文献

[1] Lee Ta-Chih, Rangasami L. Kashyap and Chong-Nam Chu。利用三维中间面/轴细化算法建立骨架模型.计算机视觉,图形学与图像处理,56(6):462-478,1994。

等。骨细胞网络的结构与骨材料质量相关.骨矿物质研究,28(8):1837-1845,2013。

另请参阅

|

介绍了R2018a