欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

区域开放式算术 bwareaopen

最编程 2024-09-29 18:35:20
...

一个非常有用的二值图像形态学后处理算法,建立在连通分量分析的基础之上。

bwareaopen

从二值图像中删除小对象

语法

BW2 = bwareaopen(BW,P)
BW2 = bwareaopen(BW,P,conn)

说明

BW2 = bwareaopen(BW,P) 从二值图像 BW 中删除少于 P 个像素的所有连通分量(对象),并生成另一个二值图像 BW2。此运算称为面积开运算

BW2 = bwareaopen(BW,P,conn) 删除所有连通分量,其中,conn 指定所需的连通性。

name = 'rice';
suffix = '.png';
I = imread([name, suffix]);
imshow(I)
bw = imbinarize(I,'adaptive');
bw_post = bwareaopen(bw,20);
imshow(bw)

后处理前后的图像。
在这里插入图片描述
在这里插入图片描述

算法步骤

确定连通分量:

CC = bwconncomp(BW, conn);

计算每个分量的面积:

S = regionprops(CC, 'Area');

删除小对象:

L = labelmatrix(CC);
BW2 = ismember(L, find([S.Area] >= P));

推荐阅读