matlab练习程序(二值图像连通区域标记法,一步法)

  这个只需要遍历一次图像就能够完全标记了。我主要参考了WIKI和这位兄弟的博客,这两个把原理基本上该介绍的都介绍过了,我也不多说什么了。一步法代码相比两步法真是清晰又好看,似乎真的比两步法要好很多。

  代码如下:

clear all;
close all;
clc;img=imread('liantong.bmp');
imgn=img>128;
s=uint8(1-imgn);%{                     
s=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0;       %这个矩阵是维基百科中的矩阵0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0;0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0;0 0 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0;0 1 1 1 0 0 1 1 0 0 0 1 1 1 0 0 0;0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 1 0;0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
%}
imshow(mat2gray(s));
[m n]=size(s);
tmp=zeros(m,n);     %标记图像
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];  %和当前像素坐标相加得到八个邻域坐标for i=2:m-1for j=2:n-1if s(i,j)==1 && tmp(i,j) ==0           tmp(i,j)=label;q{queue_tail}=[i j];        %用元组模拟队列,当前坐标入列queue_tail=queue_tail+1;while queue_head~=queue_tailpix=q{queue_head};                for k=1:8               %8邻域搜索pix1=pix+neighbour(k,:);
            if pix1(1)>=2 && pix1(1)<=m-1 && pix1(2) >=2 &&pix1(2)<=n-1if s(pix1(1),pix1(2)) == 1 && tmp(pix1(1),pix1(2)) ==0 %如果当前像素邻域像素为1并且标记图像的这个邻域像素没有被标记,那么标记tmp(pix1(1),pix1(2))=label;q{queue_tail}=[pix1(1) pix1(2)];queue_tail=queue_tail+1;end
            end endqueue_head=queue_head+1;endclear q; %清空队列,为新的标记做准备label=label+1;queue_head=1;queue_tail=1; endend end figure,imshow(mat2gray(tmp))

下面是效果图,就效果而言和上一篇没什么区别的。

原图

效果图

这两篇算是把二值图像连通标记给搞定了。

转载于:https://www.cnblogs.com/tiandsp/archive/2012/12/06/2805276.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pc微信不支持flash_在出售PC之前,如何取消对Flash内容的授权

pc微信不支持flashWhen it comes to selling your old digital equipment you usually should wipe it of all digital traces with something like DBAN, however if you can’t there are some precautions you should take–here’s one related to Flash content you may h…

绘制三维散点图_SPSS统计作图教程:三维散点图

作者&#xff1a;豆沙包&#xff1b;审稿&#xff1a;张耀文1、问题与数据最大携氧能力是身体健康的一项重要指标&#xff0c;但检测该指标成本较高。研究者想根据性别、年龄、体重、运动后心率等指标建立预测最大携氧能力的模型&#xff0c;招募了100名研究对象&#xff0c;测…

使用lodash防抖_什么,lodash 的防抖失效了?

戳蓝字「前端技术优选」关注我们哦&#xff01;作者&#xff1a;yeyan1996https://juejin.im/post/6892577964458770445应某人的要求被迫营业&#xff0c;望各位看官不要吝啬手中的赞-。-背景在使用 uni-app 开发小程序时&#xff0c;有个填写表单的需求&#xff0c;包含两个输…

Ubuntu 12.10中的8个新功能,Quantal Quetzal

Ubuntu 12.10 has been released and you can download it now. From better integration with web apps and online services to improvements in Unity, there are quite a few changes – although none of them are huge or groundbreaking. Ubuntu 12.10已发布&#xff0c…

背单词APP调研分析

前言&#xff1a;随着我国网络经济重心向移动端的转移&#xff0c;移动教育领域获得的关注度在持续放大。互联网的发展和移动设备的普及&#xff0c;我们开始在移动设备上学习&#xff0c;各种学习教育软件如雨后春笋&#xff0c;越来越多&#xff0c;就背单词软件来说&#xf…

cdh中使用hue使用教程_我可以在户外使用Philips Hue灯泡吗?

cdh中使用hue使用教程Philips Hue lights are great to have in your house, and they can add a lot of convenience to your living space. However, what if you want to use these smart bulbs outdoors in porch lights or flood lights? Will Philips Hue bulbs work pr…

弄断过河电缆_你说的是:剪断电缆线

弄断过河电缆Earlier this week we asked you if you’d cut the cable and switched to alternate media sources to get your movie and TV fix. You responded and we’re back with a What You Said roundup. 本周早些时候&#xff0c;我们问您是否要切断电缆并切换到其他媒…

路由销毁上一页_路由器原理(数据通信)

路由&#xff1a;对数据包选择路径的过程路由器(也叫网关)智能选择数据传输路由的设备&#xff0c;其端口数量较少&#xff01;功能&#xff1a;连接网络1.连接异构网络以太网、ATM网络、FDDI网络2.连接远程网络局域网、广域网隔离广播将广播隔离在局域网内路由选择网络安全地址…

您可能没有使用的最佳三星Galaxy功能

Samsung packs its flagship phones with a slew of features—some are even better than stock Android. Either way, there are a lot of things on these phones that you may not be using. Here are some of the best. 包三星旗舰手机用的特性-摆有的甚至比普通的Android…

win7更新错误0x800b0109_win7更新漏洞后产生0x0000006B蓝屏的解决方法图解

这几天不少网友在使用win7更新补丁后就蓝屏了&#xff0c;代码为0x0000006b。发生这一蓝屏问题的都是安装了2016年四月份推出的安全更新补丁&#xff0c;安装后就出现蓝屏&#xff0c;有的网友表示没问题&#xff0c;有的直接蓝了。这个蓝屏重启后依旧&#xff0c;安全模式进不…

如何使用facebook_如果每个人都已经开始使用Facebook,Facebook能否继续发展?

如何使用facebookThere are only so many people on earth, and so many hours in the day. Is that starting to limit the growth of social media? 地球上只有那么多人&#xff0c;一天中有很多小时。 这是否开始限制社交媒体的增长&#xff1f; Think about how much time…

2018-10-03-Python全栈开发-day60-django序列化-part3

联合唯一 clean_字段方法只能对某个字段进行检查&#xff0c;当clean方法执行完之后&#xff0c;最后还会执行clean方法&#xff0c;在clean方法中&#xff0c;可以通过获取数据字典中的值然后进行验证 from django.shortcuts import render,HttpResponsefrom django import fo…

mac按文件名查找文件_如何在Mac上查找和删除大文件

mac按文件名查找文件Freeing up disk space on a full hard drive can be difficult, especially when it’s full of small files. However, there are some excellent tools for macOS that let you find the files taking up the most space and delete the ones you don’t…

dmg是什么文件格式_什么是DMG文件(以及我该如何使用)?

dmg是什么文件格式DMG files are containers for apps in macOS. You open them, drag the app to your Applications folder, and then eject them, saving you the hassle of the dreaded “Install Wizard” of most Windows apps. So if all they are is a folder for an a…

mysql索引三个字段查询两个字段_mysql中关于关联索引的问题——对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引?...

情况描述&#xff1a;在MySQL的user表中&#xff0c;对a,b,c三个字段建立联合索引&#xff0c;那么查询时使用其中的2个作为查询条件&#xff0c;是否还会走索引&#xff1f;根据查询字段的位置不同来决定&#xff0c;如查询a, a,b a,b,c a,c 都可以走索引的&#…

canon相机api中文_您应该在佳能相机上掌握的10种相机设置

canon相机api中文Your camera is a tool, and you should be able to use it with total confidence. You should never have to dig through the manual or play around with random buttons trying to work out how to do something on a shoot. Here are the most important…

spring-boot基础概念与简单应用

1.spring家族 2.应用开发模式 2.1单体式应用 2.2微服务架构 微服务架构中每个服务都可以有自己的数据库 3.微服务架构应当注意的细节 3.1关于"持续集成,持续交付,持续部署" 频繁部署、快速交付以及开发测试流程自动化都将成为未来软件工程的重要组成部分 可行方案(如…

邮箱客户端 gmail支持_如何联系Gmail支持

邮箱客户端 gmail支持Although you may not be able to directly contact Gmail support without subscribing to G Suite for businesses, there are a couple of ways to get the answers you’re looking for online. Let’s look at how you can get help with your Gmail …

jstorm mysql_zookeeper,kafka,jstorm,memcached,mysql流式数据处理平台部署

一&#xff0e;平台环境介绍:1&#xff0e;系统信息&#xff1a;项目信息系统版本:Ubuntu14.04.2 LTS \n \l用户&#xff1a;*****密码&#xff1a;******Java环境&#xff1a;openjdk-7-jre语言&#xff1a;en_US.UTF-8&#xff0c;en_US:en磁盘&#xff1a;每台vda为系统盘(5…

dock模拟macos教程_将macOS首选项窗格添加到您的Dock中以快速访问

dock模拟macos教程macOS: Is there a certain Preference pane you access constantly? You can quickly add it to your dock. macOS&#xff1a;是否存在您经常访问的特定“首选项”窗格&#xff1f; 您可以将其快速添加到扩展坞中。 Brett Terpstra, writing for Lifehacke…