请输入您要查询的百科知识:

 

词条 bwmorph
释义

Matlab函数bwmorph简介

函数功能: 对二值图像进行数学形态学(Mathematical Morphology)运算。

语法格式:

BW2 = bwmorph(BW,operation)

对二值图像进行指定的形态学处理。

BW2 = bwmorph(BW,operation,n)

对二值图像进行n次指定的形态学处理。 n可以是Inf(无穷大), 这意味着将一直对该图像做同样的形态学处理直到图像不再发生变化。

operation是一个字符串, 用于指定进行的形态学处理类型, operation可以为以下值:

'bothat':进行“bottom hat”形态学运算,即返回源图像减去闭运算的图像;

'branchpoints':找到骨架中的分支点;

'bridge':进行像素连接操作;

'clean':去除图像中孤立的亮点,比如, 一个像素点, 像素值为1, 其周围像素的像素值全为0, 则这个孤立的亮点将被去除;

'close':进行形态学闭运算(即先膨胀后腐蚀);

'diag': 采用对角线填充, 去除八邻域的背景;

'dilate': 使用结构元素ones(3)对图像进行膨胀运算;

'endpoints':找到骨架中的结束点;

'erode':使用结构元素ones(3)对图像进行腐蚀运算;

'fill':填充孤立的黑点, 比如3*3的矩阵, 除了中间元素为0外, 其余元素全部为1, 则这个0将被填充为1;

'hbreak':断开图像中的H型连接;

'majority':如果一个像素的8邻域中有等于或超过5个像素点的像素值为1, 则将该点像素值置1;

'open':进行形态学开运算(即先腐蚀后膨胀);

'remove':如果一个像素点的4邻域都为1, 则该像素点将被置0;该选项将导致边界像素上的1被保留下来;

'skel':在这里n = Inf,骨架提取但保持图像中物体不发生断裂;不改变图像欧拉数;

'spur':去除小的分支, 或引用电学术语“毛刺”;

'thicken':在这里n = Inf, 通过在边界上添加像素达到加粗物体轮廓的目的;

'thin':在这里n = Inf,进行细化操作;

'tophat':进行“top hat”形态学运算, 返回源图像减去开运算的图像;

相关函数: imopen、imclose、imdilate、imerode、bwperim

程序示例

% get skeleton of an object in a binary image

close all; clear; clc;

warning off all;

imgdat = logical([1, 0, 0; 1, 0, 1; 0, 0, 1]);

retdat = bwmorph(imgdat, 'bridge') % using 'brige' option

imgdat = logical([0, 0, 0; 0, 1, 0; 0, 0, 0]);

retdat = bwmorph(imgdat, 'clean') % using 'clean' option

imgdat = logical([1, 1, 1; 1, 0, 1; 1, 1, 1]);

retdat = bwmorph(imgdat, 'fill') % using 'fill' option

输出结果:

retdat =

1 1 0

1 1 1

0 1 1

retdat =

0 0 0

0 0 0

0 0 0

retdat =

1 1 1

1 1 1

1 1 1

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/16 18:58:30