二进制体积上的形态运算
加载3-D MRI体积数据并创建一个二进制体积。使用volshow
查看卷数据。
负载mristack;BW1 = mristack > 127;volshow (BW1);
要删除被设置为1且被设置为0的体素包围的体素,执行“清洁”
对卷数据的操作。当确定要去除哪些体素时“清洁”
运算考虑26个相邻体素。使用volshow
查看结果。
BW2 = bwmorph3 (BW1,“清洁”);volshow (BW2);
为了进行比较,执行'大多数的
对卷数据的操作。“大多数的
操作执行与'干净的
操作,但只有在目标体素的邻域中超过一半(大多数)的体素被设置为1时才能保留体素。当决定保留哪些体素时,大多数的
运算也考虑26个相邻体素。使用volshow
查看结果。
BW3 = bwmorph3 (BW1,“大多数”);volshow (BW3);
这个例子展示了每种形态操作是如何支持的金宝appbwmorph3
适用于简单的卷。
做一个9乘9乘3的0的长方体,在它的中心包含一个3乘3乘3的1的立方体。
innercube = 1 (3, 3, 3);Cube_center = padarray(innercube,[3 3],0,“两个”)
cube_center = cube_center (:: 1) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 cube_center (:,: 2) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 cube_center (:,:, 3) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
使用移除操作关闭像素
设置内部立方体的中心体素为0
使用“删除”
操作。该操作设置any的值“上”
体素完全被“上”
体素,“关闭”
.
remove_center = bwmorph3 (cube_center,“删除”)
remove_center =9 x9x3逻辑阵列remove_center (:: 1) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 remove_center (:,: 2) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 remove_center (:,:, 3) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
用填充操作设置像素为开
设置内部立方体的中心体素为1
使用“填满”
操作。该操作设置any的值“关闭”
体素完全被“上”
体素,“上”
.
fill_center = bwmorph3 (remove_center,“填满”)
fill_center =9 x9x3逻辑阵列fill_center (:: 1) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 fill_center (:,: 2) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 fill_center (:,:, 3) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
使用清除操作移除未连接像素
使用“清洁”
操作来移除任何被设置为的游离体素1
但与体积中的一个分量无关。这个例子通过在第二个平面上设置一个随机体素为1来创建一个散乱体素,然后使用“清洁”
操作将其移除。
cube_center (2 2 2) = 1
cube_center = cube_center (:: 1) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 cube_center (:,: 2) = 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 cube_center (:,:, 3) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cube_cleaned = bwmorph3 (cube_center,“清洁”)
cube_cleaned =9 x9x3逻辑阵列cube_cleaned (:: 1) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 cube_cleaned (:,: 2) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 cube_cleaned (:,:, 3) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
发现大多数
找到大多数的cube_center
使用'大多数的
操作。只有当体素周围的26个连接邻域中超过一半(大多数)的体素被设置为时,该操作才能保留体素1
.
cube_major = bwmorph3 (cube_center,“大多数”)
cube_major =9 x9x3逻辑阵列cube_major (:: 1) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 cube_major (:,: 2) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 cube_major (:,:, 3) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
创建一个类似于骨架的形状
为了说明分支点和端点选项,创建另一个小矩阵,这次是一个线性形状,比如骨架。
x1 =眼(5);x2 = 0 (5);x2 (3) = 1;x3 = x2;形状=猫(3 x1, x2, x3)
形状=形状(:,:1)= 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1形状(:,:2)= 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0形状(:,:,3)= 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
找到终点
找到形状的端点使用“端点”
操作。该形状有三个端点,一个在第一个平面的对角线的两端,另一个在第三个平面的通过中心的直线的末端。
shape_endpts = bwmorph3(形状,“端点”)
shape_endpts =5 x5x3逻辑阵列shape_endpts (:: 1) = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 shape_endpts (:,: 2) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 shape_endpts (:,:, 3) = 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
发现分支点
找到形状的分支点使用的分歧点
操作。该形状有一个单独的分支点,在对角线和水平线的交汇处。
shape_brpts = bwmorph3(形状,的分歧点)
shape_brpts =5 x5x3逻辑阵列shape_brpts (:: 1) = 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 shape_brpts (:,: 2) = 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 shape_brpts (:,:, 3) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
V
- - - - - -输入量输入音量,指定为数字或逻辑数组。对于数字输入,任何非零像素都被认为是1
(真正的
).
bwmorph3
接受1-D、2-D或3-D数组。如果指定1-D或2-D输入数组,则bwmorph3
执行为3-D体定义的形态操作。如果你想要2d行为,使用bwmorph
代替。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
操作
- - - - - -要执行的形态学操作要执行的形态操作,指定为以下字符向量或字符串标量之一。有关这些操作的示例,请参见形态运算图解.
操作 |
描述 |
插图 |
---|---|---|
|
找出骨架的分支点。分支点是多个分支交汇处的体素。 为了找到分支点,图像必须被骨架化。要创建一个骨架图像,请使用 |
|
|
删除孤立的体素,将它们设置为0。孤立体素是一个单独的26连接体素,被设置为 |
|
|
找到骨架的端点。端点是分支末端的体素。 注意:要找到端点,图像必须骨架化。要创建一个骨架图像,请使用 |
|
|
填充孤立的内部体素,设置它们为 |
|
|
保持体素设置为 |
看到形态运算图解. |
|
删除内部体素,设置为 |
|
数据类型:字符
|字符串
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。