原理

区域生长算法的基本思想是将有相似性质的像素点合并到一起。对每一个区域要先指定一个种子点作为生长的起点,然后将种子点周围领域的像素点和种子点进行对比,将具有相似性质的点合并起来继续向外生长,直到没有满足条件的像素被包括进来为止。这样一个区域的生长就完成了。这个过程中有几个关键的问题:

a> 给定种子点(种子点如何选取?)

种子点的选取很多时候都采用人工交互的方法实现,也有用其他方式的,比如寻找物体并提取物体内部点作为种子点。

b> 确定在生长过程中能将相邻像素包括进来的准则

灰度图像的差值;彩色图像的颜色等等。都是关于像素与像素间的关系描述。

c> 生长的停止条件

算法步骤 :

a>  创建一个空白的图像(全黑);

b> 将种子点存入vector中,vector中存储待生长的种子点;

c> 依次弹出种子点并判断种子点如周围8邻域的关系(生长规则),相似的点则作为下次生长的种子点;

d> vector中不存在种子点后就停止生长。

 
  1. clear all, close all, clc

  2. f = imread('defective_weld.tif');

  3. imshow(f), title('原始图象')

  4. figure, [counts,x] = imhist(f); bar(x,counts), title('原始图象的直方图')

  5. S = 255;

  6. T = 65;

  7. [g, NR, SI, TI] = regiongrow(f, S, T);

  8. figure, imshow(SI), title('种子点图象')

  9. figure, imshow(TI), title('阈值测试后的图象')

  10. figure, imshow(g), title('8连通性分析后的图象')

  11. bw = edge(g, 'canny');

  12. figure, imshow(bw), title('边缘图象')

  13. ff = f;

  14. ff(bw) = 0;

  15. figure, imshow(ff), title('叠加图象')

【缺陷检测】基于区域生长算法实现对焊接孔隙检测matlab源码相关推荐

  1. 【图像分割】基于形态学算法实现原子力显微镜图像分析含Matlab源码

    1 简介 很多临床病症表现为白细胞数目增多.肿大或者白细胞中细胞核形状与数目发生变化,所以对白细胞数目和形状的研究有着重要意义.但是由于染色条件.涂片制备.图像来源.采样光照条件的差异以及细胞间相互重 ...

  2. 【路径规划】基于蝙蝠算法的无人机三维路径规划matlab源码

    10.1 介绍 蝙蝠算法(Bat Algorithm,BA)是一种基于群体智能的算法,是受微型蝙蝠的回声定位的启发,由Xin-She Yang(Yang, 2010a)[1]于2010年提出的.大多数 ...

  3. 【VRP问题】基于NSGA算法求解多中心VRP问题matlab源码

    1 简介 1.1 NSGAII算法 NSGA一II算法的基本思想为:首先,随机产生规模为N的初始种群,非支配排序后通过遗传算法的选择.交叉.变异三个基本操作得到第一代子代种群;其次,从第二代开始,将父 ...

  4. 【路径规划】基于灰狼算法求解旅行商TSP问题matlab源码

    一.旅行商问题 TSP问题即旅行商问题,经典的TSP可以描述为:一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地.应如何选择行进路线,以使总的行程最短.从图 ...

  5. 【故障检测问题】基于matlab免疫算法求解故障检测问题【含Matlab源码 196期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[故障检测问题]基于matlab免疫算法求解故障检测问题[含Matlab源码 196期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭 ...

  6. 【图像增强】基于matlab萤火虫算法图像对比度增强【含Matlab源码 2142期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像增强]基于matlab萤火虫算法图像对比度增强[含Matlab源码 2142期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  7. 【RRT三维路径规划】基于matlab RRT_Star算法三维路径规划【含Matlab源码 1571期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT_Star算法三维路径规划[含Matlab源码 1571期] 点击上面蓝色字体,直接付费下载,即可. ...

  8. 【优化求解】基于粒子群算法求解多目标优化问题matlab源码

    [优化求解]基于粒子群算法求解多目标优化问题matlab源码 1 算法介绍 1.1 关于速度和位置 粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快 ...

  9. 【飞行器】基于matlab蚁群算法飞行器巡检路径【含Matlab源码 268期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[飞行器]基于matlab蚁群算法飞行器巡检路径[含Matlab源码 268期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  10. 【优化算法】灰狼优化算法(GWO)【含Matlab源码 1305期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]灰狼优化算法(GWO)[含Matlab源码 1305期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏优化 ...

最新文章

  1. 前端Layui开发日常记录
  2. windows下进程间通信的(13种方法)
  3. 第十二章 支持向量机-机器学习老师板书-斯坦福吴恩达教授
  4. 企业深入使用微服务后会面临哪些问题?云原生全链路灰度给了新思路
  5. Jprofile 备忘
  6. 《数据库原理与应用》(第三版) 第 6 章 数据操作语句 基础 习题参考答案
  7. 【Android】Home键
  8. 这代码写的跟狗屎一样!怎么优化?
  9. 网络请求中的cookie与set-Cookie的交互模式和作用
  10. ubuntu 安装(install) pwntcha[一个做验证码识别的开源程序]
  11. 读《爱的艺术》书评而问
  12. maven处理和java平级的资源文件
  13. php搜索所有路线,php包含文件路径查找规则
  14. Airtable无法上传附件/图片;点击附件上传没反应;不安全的地址怎么设置为受信任;解决方法亲测有效
  15. Android 四大组件学习之Activity六
  16. 【指数编制系列六】景气指数编制方法
  17. mtk6737m的lk中lcm流程
  18. 百分点认知智能实验室:如何打造工业级的机器翻译
  19. win10打开蓝牙_双系统共用蓝牙键鼠(win10+macOS)
  20. python 线程thread详解

热门文章

  1. React 可视化开发工具 shadow-widget 最佳实践(上)
  2. python时频图_怎样用python画wav文件的时频分析图
  3. 技术帝,教你认识海思芯片及ARM芯片技术科普
  4. 有关电子邮箱的各种协议
  5. 基于PHP物流网站信息管理系统
  6. 想进外企你应该知道的七大基本面试知识
  7. 科创板第二批受理名单公布,为何AI独角兽 “全军覆没”?...
  8. matlab画航线图,【图文详解】如何画出华丽丽的全球航线图
  9. win7鼠标指针主题包_MouseInc 小巧好用的鼠标手势软件
  10. 计算机没有无线网卡驱动程序,win10系统的无线网卡驱动没了的解决方法