NEFU数字图像处理(三)图像分割

一、图像分割的基本概念

1.1专有名词

前景和背景

在图像分割中,我们通常需要将图像分为前景和背景两个部分。前景是指图像中我们感兴趣、要分割出来的部分,背景是指和前景不相关的部分。例如,对于一张人物照片,人物就是前景,而周围环境则是背景。

区域

区域是指图像中一块连通的像素区域,这些像素具有相似的特征 ,即像素的连通集合。

 像素间的连通性

在数字图像处理中,像素间的连通性指的是像素之间的关系。在一幅二值图像中,我们可以将所有像素分为两个类别:黑色和白色。如果两个像素之间是相邻的,并且属于同一个类别,则称它们是连通的。连接的方式可以为4连通和8连通。

  • 4连通性:一个像素与它上下左右四个相邻像素连通。
  • 8连通性:一个像素与它上下左右和对角线八个相邻像素连通。

连通路径

像素间的连通性指的是像素之间是否有连接的路径。如果两个像素之间存在一条路径,使得这些路径完全由同一个集合中的像素构成,

 1.2概念

图像分割是根据图像的灰度、颜色、纹理或边缘等特征,将图像划分成若干个区域的过程,每个区域代表被成像的一个物体(或部分)

 1.3图像分割的依据

图像分割的依据:各区域具有不同的特性(如灰度、颜色、纹理等)。

灰度图像分割的依据:基于相邻像素灰度值的不连续性和相似性

1) 不连续性——不连续性是基于特性(如灰度)的不连续变化分割图像,如边缘检测

2) 相似性——根据制定的准则将图像分割为相似的区域,如阈值处理、区域生长

 1.4图像边缘

含义:图像中一个区域的结束和另一个区域的开始,图像中相邻区域之间的像素集合
构成了图像的边缘。

图像的边缘有方向和幅度两个属性,沿边缘方向的像素点变化平缓,而垂直于边缘方向的像素点变化剧烈。

相关例题(不重要)

算子的边缘检测效果分析:


 

二、灰度阈值分割

2.1概述

适用的图像:物体(前景)与背景在灰度上有较大差异

基本思想:提取物体与背景在灰度上的差异,把图像分为具有不同灰度级的目标区域和背景区域

2.2基本原理

2.3步骤

注意:step1确定适合的阈值是关键,阈值的选择将直接影响分割效果。

2.4阈值类型

全局阈值:选取的阈值仅与各个像素的灰度有关。


局部阈值:选取的阈值与像素本身及其邻域的某种局部性质(如像素的梯度值等)有关。即除了利用像素自身的性质外,还可借助像素邻域的局部性质来确定阈值


动态阈值(或自适应阈值):选取的阈值与像素的位置(坐标)有关

2.5确定灰度阈值的常用方法

利用灰度直方图确定阈值

通过人眼的观察,应用人对图像的先验知识,在分析图像直方图的基础上,人工选出合适的阈值。

基于阈值的图像分割方法的基本原理是提取物体与背景在灰度上的差异,把图像分为具有不同灰度级的目标区域和背景区域。

该方法主要适用于目标物体与背景之间具有较高对比度,两者分别占据不同的灰度级范围,灰度对比较强,此时图像的灰度直方图呈现明显的双峰特性(分别对应背景和目标物体),或明显的多峰特性(分别对应背景和多个目标物体)

可以在相邻两峰之间的谷底处选取一个灰度值作为阈值,进行分割

采用阈值分割方法分割图像时,当存在照明不均、突发噪声等因素或背景的灰度变化较大时,整幅图像不存在合适的单一阈值,这时可将图像分块,对每块根据图像局部特征采用不同的阈值。

迭代法确定最优阈值


 

关于初始阈值T的选择原则:

  • 当目标物体与背景的面积相当时,可将初始阈值T置为整幅图像的灰度平均值;
  • 当目标物体与背景的面积相差较大时,可将初始阈值T,置为最大灰度值与最小灰度值的中间值。

概念补充:分割误差

一部分目标物体像素被错分为背景,或者一部分背景像素被错分为目标物体

利用最小化误差概率确定最优阈值

基本思想:选择一个阈值T,使得划分像素时所产生的总的分类误差概率最小

 原理

 结论

当图像中目标和背景像素点的灰度值呈正态分布且标准偏差相等、目标和背景像素点比
例相等时,最佳分割阈值就是目标和背景像素点的灰度均值的平均。


采用单阈值的阈值分割方法用全局阈值来分割图像。
当一幅图像的直方图呈现明显双峰时,选择谷底作为阈值以获取良好的分割效果。

最大类间方差法确定最优阈值(Otsu法)

该方法确定最佳阈值T的准则是:使得阈值分割后的两个像素类(一个是前景目标物体像素类,另一个是背景像素类)的类间方差最大

结论

基于0tsu方法的阈值分割是否有效主要取决于目标和背景区域之间是否有足够的对比度 

 直方图变换法(一种局部阈值方法)

 ​​例如,可以作出只具有低梯度值的像素的直方图,即对梯度大的像素赋予权值0,而梯度小的像素赋予权值1。新直方图中对应的波峰基本不变,但由于减少了边界点,所以波谷应比原直方图更深。

动态阈值法


三、基于区域的分割

传统的区域分割算法有区域生(增)长法和区域分裂合并法。

基于阈值的图像分割方法适用于含噪声较少的简单图像,尤其是对物体(前景)与背景在灰度上有较大差异的图像效果。

3.1区域生(增)长法

定义:根据事先定义的准则将像素或者子区域聚合成更大区域的过程。
基本思想:开始时确定一个或多个像素点作为种子,然后按某种相似性准则增长区域,逐步生成具有某种均匀性的空间区域,将相邻的具有相似性质的像素或区域归并从而逐步增长区域,直至没有可以归并的点或其它小区域为止

区域内像素的相似性度量可以包括平均灰度值、纹理、颜色等信息。

基本步骤:

 举例

3.2 区域分裂与合并法

基本思想:按照某种一致性准则,不断地分裂或合并区域。当一个区域不满足一致性准则时,将其分裂成大小相等且互不重叠的四个子区域。当任意两个相邻区域满足一致性准则时,可将其合并为一个大区域。


通常是先区域分裂,再区域合并,也可以分裂和合并同时进行,最后得到图像的分割结果。

举例

四、二值图像的轮廓提取与轮廓跟踪

轮廓提取和轮廓跟踪的目的:获取目标区域的外部轮廓特征,为形状分析和目标识别做准备

图像分割后的结果通常是一幅二值图像,所有目标区域都被赋予同一种灰度值(黑或白),背景
区域被赋予另一种灰度值(白或黑)

4.1二值图像的轮廓提取:
 

4.2二值图像的轮廓跟踪:

 

五、模板匹配

用一幅已知的较小的图像(称为模板图像)与一幅较大的原始图像进行比较,来确定在原始图像中是否存在与该模板图像相同或相似的区域,若这样的区域存在,可确定其位置并提取该区域。

常用的模板匹配方法:

  • 相关法
  • 误差法

 5.1相关法

结论:

模板越大,匹配速度越慢;模板越小,匹配速度越快。

5.2误差法


 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

目标检测算法改进系列之添加EIOU,SIOU,AlphaIOU,FocalEIOU等

YOLOv8添加EIoU,SIoU,AlphaIoU,FocalEIoU,Wise-IoU等 yolov8中box_iou其默认用的是CIoU,其中代码还带有GIoU,DIoU,文件路径:ultralytics/yolo/utils/metrics.py,函数名为:bbox_iou 原始代码 def bbox_i…

故障诊断模型 | Maltab实现LSTM长短期记忆神经网络故障诊断

文章目录 效果一览文章概述模型描述源码设计参考资料效果一览 文章概述 故障诊断模型 | Maltab实现LSTM长短期记忆神经网络故障诊断 模型描述 长短记忆神经网络——通常称作LSTM,是一种特殊的RNN,能够学习长的依赖关系。 他们由Hochreiter&Schmidhuber引入,并被许多人进行了…

2023 年值得关注的国外网络安全初创公司

网络安全初创公司试图解决的问题往往有点超前于主流。他们可以比大多数老牌公司更快地填补空白或新兴需求。初创公司通常可以更快地创新,因为它们不受安装基础的限制。 当然,缺点是初创公司往往缺乏资源和成熟度。公司致力于初创公司的产品或平台是有风…

基于单片机的空气质量检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、主要内容二、系统方案设计2.1 系统方案设计2.2 主控制器模块选择 三、 系统软件设计4.1 程序结构分析4.2系统程序…

基于SSM的会员卡管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

S32K144芯片焊接完成后使用S32DS初次下载无法下载解决方法

一、问题现象如下,S32DS Debug下报错 二、原因,原厂芯片出厂时的FLASH Memory的安全机制是激活的,仿真器是可以连上,但是没法读取Flash Memory的内容 三、解决方法 参考图示,解锁后即可正常Debug

Mac电脑配置Dart编程环境

1.安装Dart SDK 官网地址:https://dart.dev/get-dart $brew tap dart-lang/dart$brew install dart 安装后,用命令检测一下是否安装正常。 $brew info dart 2.VS Code配置Dart环境 1).安装VS Code 官网地址:https://code.visualstudio.c…

【技能树笔记】网络篇——练习题解析(十)

【技能树笔记】网络篇系列前九篇 【技能树笔记】网络篇——练习题解析(一)-CSDN博客 【技能树笔记】网络篇——练习题解析(二)-CSDN博客 【技能树笔记】网络篇——练习题解析(三)-CSDN博客 【技能树笔记】网…

DAY38 动态规划 + 509. 斐波那契数 + 70. 爬楼梯 + 746. 使用最小花费爬楼梯

动态规划理论 动态规划,Dynamic Programming, DP, 如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导…

Cross Site Scripting (XSS)

攻击者会给网站发送可疑的脚本,可以获取浏览器保存的网站cookie, session tokens, 或者其他敏感的信息,甚至可以重写HTML页面的内容。 背景 XSS漏洞有不同类型,最开始发现的是存储型XSS和反射型XSS,2005,Am…

Node学习笔记之user用户API模块

1、获取用户的基本信息 步骤 获取登录会话存储的session中用户的id判断是否获取到id根据用户id查询数据库中的个人信息检查指定 id 的用户是否存在将密码设置为空将数据返回给前端 // 获取用户信息数据 exports.userinfo (req, res) > {(async function () {// 1. 获取…

C语言每日一练(二)

单链表经典算法专题 一、 单链表相关经典算法OJ题1:移除链表元素 解法一:在原链表中删除Node.nextnext的节点 typedef struct ListNode ListNode; struct ListNode* removeElements( ListNode* head, int val) {ListNode* pcur head;ListNode* pre h…

CVE-2021-44228 Apache log4j 远程命令执行漏洞

一、漏洞原理 log4j(log for java)是由Java编写的可靠、灵活的日志框架,是Apache旗下的一个开源项目,使用Log4j,我们更加方便的记录了日志信息,它不但能控制日志输出的目的地,也能控制日志输出的内容格式;…

【数据结构】插入排序

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈数据结构 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 直接插入、希尔排序 1. 什么是排序2…

lesson2(补充)关于>>运算符和<<运算符重载

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 前言&#xff1a; cout和cin我们在使用时需要包含iostream头文件&#xff0c;我们可以知道的是cout是写在ostream类里的&#xff0c;cin是写在istream类里的&#xff0c;他们都是定义出的对象&#xff0c;而<< 和 >…

c++多线程

目录 一、进程与线程 二、多线程的实现 2.1 C中创建多线程的方法 2.2 join() 、 detach() 和 joinable() 2.2.1 join() 2.2.2 detach() 2.2.3 joinable() 2.3 this_thread 三、同步机制&#xff08;同步原语&#xff09; 3.1 同步与互斥 3.2 互斥锁&#xff08;mu…

笔记本电脑搜索不到wifi6 无线路由器信号

路由器更换成wifi6 无线路由器后&#xff0c;手机能搜索到这个无线信号&#xff0c;但是笔记本搜索不到这个无线信号&#xff0c;后网上搜索后发现是无线网卡驱动问题&#xff0c;很多无线网卡使用的是Intel芯片&#xff0c;Intel就此发布了公告&#xff0c;升级驱动就可以彻底…

npm install报错,解决记录

第一步&#xff1a;检查和安装 我这里建议检查 1.node.js版本是否和前使用版本一致 2.npm版本是否和前使用版本一致 3.vue版本是否和前使用版本一致 4.vue脚手架是否和前使用版本一致 5.npm镜像是否和前使用版本一致 1.检查版本 【node版本】 命令&#xff1a;node -v 结果&a…

【C++初阶】类和对象——操作符重载const成员函数取地址重载日期类的实现

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C头疼记 目录 前言&#xff1a; 运算符重载 运算符重载 赋值运算符重载 前置和后置重载 const成员 取地址及const取地址操作符重载 使用函数操作符重载完成日期类的实现 前言&#xff1a; 上篇文…

校园物业报修小程序开发笔记一

背景 校园规模和复杂性&#xff1a; 大型学校和校园通常拥有众多的建筑物、设施和设备&#xff0c;需要有效的维护和报修系统&#xff0c;以满足学生、教职员工和校园管理人员的需求。 学生和员工需求&#xff1a; 学生和员工在校园内可能遇到各种维修问题&#xff0c;如故障的…