matlab有自带函数bwreopen()求连通域,并移除小面积连通域,返回一个mask模板不同连通域用不同的label标志,背景用0标志。

function [ mask ] = bwareopenLZ( Lig,minarea)
%UNTITLED3 此处显示有关此函数的摘要
%   此处显示详细说明
row=size(Lig,1);
col=size(Lig,2);mask=zeros(row,col);     %标记图像
label=1;
queue_head=1;       %队列头
queue_tail=1;       %队列尾
neighbour=[-1 -1;-1 0;-1 1;0 -1;0 1;1 -1;1 0;1 1];  %和当前像素坐标相加得到八个邻域坐标
q2=zeros(row*col,2);%存放坐标位置
for i=2:row-1for j=2:col-1       if Lig(i,j)==1 && mask(i,j) ==0           mask(i,j)=label;q2(queue_tail,:)=[i j];%q{queue_tail}=[i j];        %用元组模拟队列,当前坐标入列queue_tail=queue_tail+1;            while queue_head~=queue_tail%pix=q{queue_head};pix2=q2(queue_head,:);  %pix2是坐标:(x,y)for k=1:8               %8邻域搜索%pix1=pix+neighbour(k,:);pix1=pix2+neighbour(k,:);  %邻域坐标if pix1(1)>=2 && pix1(1)<=row-1 && pix1(2) >=2 &&pix1(2)<=col-1if Lig(pix1(1),pix1(2)) == 1 && mask(pix1(1),pix1(2)) ==0  %如果当前像素邻域像素为1并且标记图像的这个邻域像素没有被标记,那么标记mask(pix1(1),pix1(2))=label;%q{queue_tail}=[pix1(1) pix1(2)];q2(queue_tail,:)=[pix1(1) pix1(2)];queue_tail=queue_tail+1;endendend                queue_head=queue_head+1;  %从头遍历到队列尾部,即遍历8邻域像素的8邻域像素end     %此时结束一个连通域的搜索%统计该连通域的像素数,小于阈值的连通域进行去除area=queue_head-1;if(area<minarea)%去除面积小于阈值的连通域for i=1:area  %area即该连通域的像素个数 x=q2(i,1);y=q2(i,2);mask(x,y)=0;endend                label=label+1;queue_head=1;queue_tail=1;            end    end
end
end

求连通域面积matlab相关推荐

  1. MATLAB:regionprops函数求取最大连通域面积

    MATLAB:regionprops函数求取最大连通域面积 regionprops统计被标记的区域的面积分布,显示区域总数. 函数regionprops语法规则为:STATS = regionprop ...

  2. MATLAB蒙特卡洛(Monte Carlo)方法求椭圆面积

    MATLAB蒙特卡洛方法求椭圆面积 代码 代码 在某个规定的范围内随机打点,找到满足条件的点,并数一下这些点的数量与总的随机点数量的比,就OK了.关键是设置条件. 代码 clear;clc; n=10 ...

  3. 给定0-1矩阵,求连通域

    图像处理题目: 注意,一下所有需要写代码的题目,不允许使用OpenCV的Mat类.如果图片内容需要用指针读取. 1 . 给定0-1矩阵,求连通域.(遇到过N次,笔试面试都有,最好做到能徒手hack代码 ...

  4. 给定0-1矩阵求连通域

    图像处理题目: 注意,一下所有需要写代码的题目,不允许使用OpenCV的Mat类.如果图片内容需要用指针读取. 1 . 给定0-1矩阵,求连通域.(遇到过N次,笔试面试都有,最好做到能徒手hack代码 ...

  5. 无锡小升初数学题求阴影面积

    无锡小升初数学题求阴影面积 思路 需要的知识范围:三角函数,反三角函数(计算器),一元二次方程 求角度–>求扇形面积 求三条边–>求三角面积 相加相减 matlab代码 clear sym ...

  6. 零起点学算法11——求梯形面积

    零起点学算法11--求梯形面积 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld Description 水题 Input ...

  7. HDU - 1255 覆盖的面积(线段树求矩形面积交 扫描线+离散化)

    链接:线段树求矩形面积并 扫描线+离散化 1.给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积. 2.看完线段树求矩形面积并 的方法后,再看这题,求的是矩形面积交,类同. 求面积时,用被覆 ...

  8. C#使用多态求方形面积周长和圆的面积周长

    class class1{public static void Main(string[] args){//使用多态求矩形面积与周长和圆的面积与周长Shape cl = new Circle(5);d ...

  9. 三角剖分求多边形面积的交 HDU3060

    1 //三角剖分求多边形面积的交 HDU3060 2 3 #include <iostream> 4 #include <cstdio> 5 #include <cstr ...

最新文章

  1. 【SpringCloud】简介及其核心组件详解
  2. Fedora的ifconfig命令
  3. str.length() 与 str.getBytes().length
  4. OpenCASCADE:OCCT应用框架OCAF之形状属性
  5. PHP实现四种排序-插入排序
  6. [转]样式篇之如何实现合并单元格效果
  7. osgi和spring区别_OSGI和Spring动态模块–简单的Hello World
  8. 战双服务器信息保留多久,双线服务器里保留内测时的等级吗
  9. moore 数据集_可计算存储:数据压缩和数据库计算下推
  10. 获取ACCESS_TOKEN接口
  11. selenium提示geckodriver‘ execut解决办法
  12. VS实现rar格式压缩包的解压详解
  13. LCR TC1 测试仪
  14. 【学习笔记】元宇宙:虚实相生的网络世界
  15. 3-8 导入商品类别数据
  16. APE-Gen:锚定肽-MHC集合生成器
  17. ModelNet40点云数据集预处理
  18. 如何将电子海图的航线导到gps上_基于GPS和电子海图的船舶导航系统设计与实现...
  19. cad快看_市政道路工程CAD图纸大合集,路面设计、交通标志等,限时分享
  20. 论文html5的英文文献,英文文献注释

热门文章

  1. 马斯克谈买比特币:当法币实际利率为负时 只有“傻子”才不放眼他处
  2. Java基础----JAVA语言的概述和开发环境的搭配
  3. assert函数的作用
  4. MAVEN 的常用命令
  5. 杂项-EMS:CRM
  6. 【51nod 1331】狭窄的通道
  7. 验证码颜色、字母、数字、线条、圆点、位置都随机,点击切换验证码
  8. memcached的缺点
  9. OneNote 2013 快捷键
  10. BZOJ 3083: 遥远的国度(树链剖分+DFS序)