本系列文章由 @yhl_leo 出品,转载请注明出处。

文章链接: http://blog.csdn.net/yhl_leo/article/details/52862719


Matlab提供了现成的函数,可以快速实现二值图像的闭合区域标记,这里介绍三种常见情形:

  • 连通区域(connected components):如下图所示的,包含几个联通的闭合区域

方法1:bwlabel

im = imread('label.png');
im_bin = im2bw(im, 0.5);
lab = bwlabel(im_bin);
imagesc(wcodemat(lab));

方法2:bwboundaries

im = imread('label.png');
im_bin = im2bw(im, 0.5);
[B,L] = bwboundaries(im_bin,'holes');
imshow(label2rgb(L, @jet, [.5 .5 .5]));


  • 边界闭合区域(holes):如下图所示的,包含几个边界闭合的区域或称孔洞

方法1:imfill + bwlabel

im = imread('label2.png');
im_bin = im2bw(im, 0.5);
fill = imfill(im_bin, 'holes');
lab = bwlabel(fill);
imagesc(wcodemat(lab));

方法2:bwboundaries

im = imread('label2.png');
im_bin = im2bw(im, 0.5);
[B,L] = bwboundaries(im_bin,'holes');
imshow(label2rgb(L, @jet, [.5 .5 .5]))


  • 对于孔中有其他闭合区域的情形,分别使用以下四种方法,结果分别为:
[B,L] = bwboundaries(im_bin,'holes');
imshow(label2rgb(L, @jet, [.5 .5 .5]))

[B,L] = bwboundaries(im_bin,'noholes');
imshow(label2rgb(L, @jet, [.5 .5 .5]))

fill = imfill(im_bin, 'holes');
imagesc(wcodemat(bwlabel(fill)));

imagesc(wcodemat(bwlabel(im_bin)));

Matlab 二值图像label regions的更多相关文章

  1. 【zz】Matlab 二值图像形态学函数 bwmorph

    原文地址:http://blog.sina.com.cn/wind8961 函数功能: 对二值图像进行数学形态学(Mathematical Morphology)运算. 语法格式: BW2 = bwm ...

  2. matlab中可用于进行轮廓提取的函数

    本文主要总结一下在matlab中可用于进行轮廓提取的函数. 1 bwperim 根据参考资料[2]的提示,可以使用bwperim()函数进行轮廓提取,具体代码如下: %读取原图im = imread( ...

  3. 将labelme 生成的.json文件进行可视化的代码+label.png 对比度处理的matlab代码

    labelme_to_dataset 指令的代码实现: show.py文件 #!E:\Anaconda3\python.exe import argparse import json import o ...

  4. 利用matlab自带函数快速提取二值图像的图像边缘 bwperim函数

      clear all;close all;clc; I = imread('rice.png'); I = im2bw(I); J = bwperim(I); % 提取二值图像图像边缘 figure ...

  5. {matlab}取二值图像centroid几种方法性能比较

    试验很简单,取二值图像的质心,三种方法做比较 1.完全采用矩阵性能不做任何循环操作,对find后的值进行除法与取余操作,从而得到centroid 2.完全采用循环操作,最简单明了 3.结合1,2,对每 ...

  6. Label Propagation Algorithm LPA 标签传播算法解析及matlab代码实现

    转载请注明出处:http://www.cnblogs.com/bethansy/p/6953625.html LPA算法的思路: 首先每个节点有一个自己特有的标签,节点会选择自己邻居中出现次数最多的标 ...

  7. How to Change the Size of a Box-Plot Label in MATLAB

    Type "load carsmall" to load a sample data set included with MATLAB. Type "boxplot(Ho ...

  8. Matlab得到二值图像中最大连通区域

    有时候要将二值化图像中最大的连通域保存下来.以下函数提供了一种方法: %function [img]=maxLianTongYu(I):求图像中最大的连通域 %输入:I 输入图像 %输出:img 仅包 ...

  9. 从matlab的bwmorph函数的'majority'参数中扩展的一种二值图像边缘光滑的实时算法。

    在matlab的图像处理工具箱中,有一系列关于Binary Images的处理函数,都是以字母bw开头的,其中以bwmorph函数选项最为丰富,一共有'bothat'.'branchpoints'.' ...

随机推荐

  1. 在SharePoint Online或SharePoint本地列表中缺少功能区

    您可能会遇到在SharePoint Online或SharePoint内部部署列表中看不到功能区的情况.功能区可以轻松访问SharePoint列表中的常见任务.它还提供了有用的工具,例如连接到Outl ...

  2. Jmeter进行接口的性能测试

    一.录制Jmeter脚本 录制Jmeter脚本有两种方法,一种是设置代理:一种则是利用badboy软件,badboy软件支持导出jmx脚本. 这里我们介绍第二种方法,利用badboy录制脚本,然后导出 ...

  3. UESTC 1307 WINDY数 (数位DP,基础)

    题意: windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数.windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 思路: 就是给连续的两 ...

  4. BZOJ 3712: [PA2014]Fiolki 倍增+想法

    3712: [PA2014]Fiolki Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 437  Solved: 115[Submit][Status ...

  5. python3.6 配置COCO API出错解决方案

    使用Anaconda Prompt进行安装 问题出现的背景:在尝试使用mask-rcnn时,遇到了这个问题,最终解决掉了

  6. 11gR2 如何诊断节点重启问题

    本文对如何诊断11gR2 GI环境下的节点重启问题进行了一些介绍. 首先,像10g版本一样,我们首先介绍在GI中能够导致节点重启的进程.1.Ocssd.bin:这个进程的功能和10g版本的功能基本差不 ...

  7. 一些常用的HTML标签

    由于本人目前没有系统学习,日常碰见哪个有用就记下来. pre标签 可定义预格式化的文本,在pre元素中的文本会保留空格和换行符.比如我们展示源代码的时候,只要放一个pre标签,然后把代码直接复制.粘贴 ...

  8. CMDB数据库设计

    title: CMDB 数据库设计 tags: Django --- CMDB数据库设计 具体的资产 服务器表和网卡.内存.硬盘是一对多的关系,一个服务器可以有多个网卡.多个内存.多个硬盘 hostn ...

  9. 实验十二 团队作业8:软件测试与Alpha冲刺

    实验十二 团队作业8:软件测试与Alpha冲刺 实验时间 2018-6-13 Deadline: [6.13-6.19]之间任选连续5天的23:00,以团队随笔博文提交时间为准. 评分标准: 按时交 ...

  10. VB6 代码编辑页面添加支持滚轮模式

    VB6 中的代码编辑页面默认是不支持滚轮模式的,这让在编辑代码时的体验很是不爽. 但在64位win10系统进行加载配置时,可能会出现问题,可用如下方法解决: http://download.micro ...