文件帮助中心
二元体积的形态学操作
J = BWMORPH3(v,操作)
例子
j= bwmorph3(V.那手术)应用字符串或字符向量指定的形态操作手术到二元卷V.。Bwmorph3.以逻辑卷返回操作的结果j。
j= bwmorph3(V.那手术)
j
V.
手术
Bwmorph3.
全部收缩
加载3-D MRI体积数据并创建二进制卷。用volshow.查看体积数据。
volshow.
加载马士克;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长方体,其中包含3×3×3立方体的中心。
Innercube =那些(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 0 11 1 1 0 0 0 0 0 0 01 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 0 0 0 0 0 0 0 0 11 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(:,:3)= 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 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 0 0 0 0 0 0 0 0 0 0 0 0
用删除操作关闭像素
将内部立方体的中心体素设置为0.使用'消除'手术。此操作设置任何值的值'在'voxel完全包围'在'体素到'离开'。
0.
'消除'
'在'
'离开'
remove_center = bwmorph3(cube_center,'消除')
remove_center =9x9x3逻辑阵列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 0 1 11 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)= 00 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 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 10 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(:,:3)= 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 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 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
将像素设置为填充操作
将内部立方体的中心体素设置为1使用'填'手术。此操作设置任何值的值'离开'voxel完全包围'在'体素到'在'。
1
'填'
fill_center = bwmorph3(remove_center,'填')
fill_center =.9x9x3逻辑阵列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 11 1 1 0 0 0 0 0 0 0 1 11 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 fill_center(:,:2)= 00 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 1 0 0 0 0 0 0 1 1 1 10 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填充_Center(:,:3)= 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 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 00 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 0 11 1 1 0 0 0 0 0 0 01 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 0 0 0 0 0 0 0 11 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(:,:3)= 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 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 0 0 0 0 0 0 0 0 0 0 0 0
cube_cleaned = bwmorph3(cube_center,'干净的')
cube_cleaned =9x9x3逻辑阵列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 0 1 11 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)= 00 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 1 0 0 0 0 0 0 1 1 1 10 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(:,:3)= 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 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 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
找到大多数人
找到大部分cube_center.使用 '多数'手术。仅当体素周围的26连接的邻域中的体素的超过一半(大多数)被设置为时,该操作才保留了voxel1。
cube_center.
cube_major = bwmorph3(cube_center,'多数')
cube_major =.9x9x3逻辑阵列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 00 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 upe_major(:,:2)= 00 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 0 0 0 0 0 0 0 0 1 00 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 upe_major(:,:3)= 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 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 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
创建类似于骨架的形状
为了说明分支点和结束点选项,创建另一个小矩阵,这次用线性形状,就像骨架一样。
x1 =眼睛(5);x2 =零(5);X2(3,3)= 1;x3 = x2;形状=猫(3,x1,x2,x3)
形状=形状(:,1)= 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1形状(:,2)= 0 0 0 0 00 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0形状(:,:3)= 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
找到终点
使用该形状的终点'终点'手术。形状具有三个终点,在第一平面中对角线的每个端部,在第三平面上通过中心的线的末端。
'终点'
shape_endpts = bwmorph3(形状,'终点')
shape_endpts =.5x5x3逻辑阵列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 0 1 shape_endpts(:,:2)= 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0形状_endpts(:,:3)= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0.
寻找分支点
使用该发现形状的分支点'Branchpoints'手术。形状具有单个分支点,其中对角线和水平线相遇。
'Branchpoints'
shape_brpts = bwmorph3(形状,'Branchpoints')
shape_brpts =.5x5x3逻辑阵列shape_brpts(:,:,1)= 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0形状_BRPTS(:,2)= 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0形状_BRPTS(:,3)= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0.
输入卷,指定为数字或逻辑阵列。对于数字输入,任何非零像素被认为是1(真的)。
真的
Bwmorph3.接受1-D,2-D或3-D阵列。如果指定1-D或2-D输入阵列,那么Bwmorph3.执行为3-D卷定义的形态操作。如果您想要2-D行为,请使用BWMORPH.反而。
BWMORPH.
数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑
单身的
双倍的
INT8.
int16
INT32.
INT64.
uint8.
uint16
UINT32.
UINT64
逻辑
形态学操作执行,指定为以下字符向量之一或字符串标量。对于这些操作的例子,请参阅形态学作业的插图。
描述
查找骨骼的分支点。分支点是多个分支机构相遇的交界处的体素。
要查找分支点,则映像必须易于批量。创建骨架化图像,使用Bwskel.。
Bwskel.
去除隔离的体素,将它们设置为0.孤立的体素是一个单独的26连接的体素,设置为1被voxels被设置为的0.。
找到骨骼的终点。端点是分支末端的体素。
注意:要查找终点,则必须批量映像。创建骨架化图像,使用Bwskel.。
填充孤立的内部体素,将它们设置为1。孤立的内部体素是设置为的个体体素0.被voxels设置为包围(6连接的)1。
'多数'
保持voxel设置为1如果它的3×3×3,26个连接的邻域中的14个或更多的体素(大多数)设置为1;否则,将体素设置为0.。
去除内部体素,将其设置为0.。内部体素是设置为的单个体素1被voxels设置为包围(6连接的)1。
数据类型:char|细绳
char
细绳
在形态操作后的卷,作为输入卷相同的逻辑阵列返回V.。
为了在3-D卷上进行形态操作侵蚀或扩张,使用imerode或者混合函数,指定结构元素那些(3,3,3)。
imerode
混合
那些(3,3,3)
在3-D卷上执行形态关闭,开口,顶帽滤波或底帽滤波,使用快到了那伊莫登那Imtophat., 或者Imbothat.函数,指定结构元素那些(3,3,3)。
快到了
伊莫登
Imtophat.
Imbothat.
BWMORPH.|Bwskel.|Imbothat.|快到了|混合|imerode|伊莫登|Imtophat.
系统上存在此示例的修改版本。你想打开这个版本吗?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室