如何对连通区域进行随意的操作

兴趣区域进行合并筛选

Find(k<&k>)函数 寻找感兴趣的矩阵数值 返回索引

Regionprops 统计

Label贴标签、imareaopen 出去小面积的连通区域

如何对感兴趣的一些连通区域进行重组,除掉不感兴趣的区域??? 研究imareaopen函数,里面有个bwconncomp、cellfun函数 cellfun函数很关键

imareaopen函数定义:

[bw,p,conn] = parse_inputs(varargin{:});%参数解析

CC = bwconncomp(bw,conn); %寻找连通部位

area = cellfun(@numel, CC.PixelIdxList);%对像素统计

idxToKeep = CC.PixelIdxList(area >= p);%总数大于p的像素对应的索引进行提取

idxToKeep = vertcat(idxToKeep{:}); %将所有的索引进行级联

bw2 = false(size(bw));%将原图清0

bw2(idxToKeep) = true;%将保留的索引像素位置赋值1

 

Bwconncomp函数返回的四个参数:

    Connectivity: 8 % 连通性 8连通

       ImageSize: [497 704]  %图片尺寸

      NumObjects: 62  %联通区数量

PixelIdxList: {1x62 cell} % 每个联通区所产生的像素索引列表 分成了62个元包数组 每个数组的元素个数等于该连通区域的像素个数,每个里面记录的是该像素在这张图片中所在的具体索引值


有了PixelldxList后,后面就可以自由发挥了。



孔洞填充 BW1= im2bw(imread('coins.png'));%读入图片,进行二值化处理 BW2= imfill(BW1,'holes');%将原图填充孔洞 imview(BW1), imview(BW2)%对比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值