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

news2024/11/23 2:49:13

一、图像分割的基本概念

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误差法


 

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

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

相关文章

百货中心供应链管理系统

毕业设计说明书 百货中心供应链管理系统 百货中心供应链管理系统 摘要 近年来,随着计算机技术的发展,以及信息化时代下企业对效率的需求,计算机技术与通信技术已经被越来越多地应用到各行各业中去。百货中心作为物流产业链中重要的一环&a…

Cesium弹窗可随地图移动

目录 项目地址实现效果实现方法 项目地址 https://github.com/zhengjie9510/webgis-demo 实现效果 实现方法 handler new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas) handler.setInputAction((click) > {if (listener) {listener()listener undefinedthis.v…

黑客在Pwn2Own Toronto上以58个零日漏洞赚取超过100万美元

Pwn2Own Toronto 2023黑客大赛已经圆满结束,安全研究人员通过攻击消费类产品的58个零日漏洞(以及多个漏洞碰撞)赚取了1,038,500美元。此次比赛由趋势科技的零日倡议(Zero Day Initiative,简称ZDI)组织&…

电子电器架构 —— 车载网关初入门(二)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 PS:小细节,本文字数5000+,详细描述了网关在车载框架中的具体性能设置。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他…

WMS基础流程和设计

文章目录 一、WMS的含义和系统综述1.1 WMS含义1.2 系统综述 二、WMS系统关键概念2.1 概念解释2.1.1 区域2.1.2 波次管理2.1.3 作业2.1.4 提货方式2.1.5 批号要求2.1.6 容器2.1.7 暂存区2.1.8 复核台2.1.9 补货2.1.10 订单类别 2.2 仓储作业中的岗位 三、WMS基础资料的内容及初装…

剑指JUC原理-2.线程

创建和运行线程 直接使用Thread // 创建线程对象 Thread t new Thread() {public void run() {// 要执行的任务} }; // 启动线程 t.start();--------------------------------------------------// 构造方法的参数是给线程指定名字,推荐 Thread t1 new Thread(&…

力扣 三数之和 双指针 java

Problem: 15. 三数之和 时间复杂度: O ( n 2 ) O(n^2) O(n2) &#x1f351; AC code class Solution {public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> res new ArrayList<>();int len nums.length; if(len < 3…

【卷积神经网络】YOLO 算法原理

在计算机视觉领域中&#xff0c;目标检测&#xff08;Object Detection&#xff09;是一个具有挑战性且重要的新兴研究方向。目标检测不仅要预测图片中是否包含待检测的目标&#xff0c;还需要在图片中指出它们的位置。2015 年&#xff0c;Joseph Redmon, Santosh Divvala 等人…

No173.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

队列概念|循环队列的实现

前言 今天我们将学习循环队列实现&#xff0c;我们首先介绍队列的概念和结构&#xff0c;之后一步步讲解循环队列由来与实现。 一、队列的概念与结构 1、队列的概念 队列&#xff1a; 只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表。队列是…

3.72 Command Buffer及URP概述

一、Command Buffer 1.概念 CommandBuffer携带一系列的渲染命令&#xff0c;依赖相机&#xff0c;用来拓展渲染管线的渲染效果。而且可以指定在相机渲染的某个点执行本身的拓展渲染。Command buffers也可以结合屏幕后期效果使用。 简单来说就是可以在渲染流程中插入一些自定…

群智能算法之模拟退火算法

1.模拟退火算法简介&#xff1a; 2.模拟退火算法的关键点&#xff1a; &#xff08;1&#xff09;随机的更新可行解x,判断可行解x对应的函数值和原来函数值之间的大小&#xff1a;如果优于原来的函数值&#xff0c;则让新的可行解x为问题的解&#xff1b;否则以一定的概率(大于…

centos7 部署 Flink

1. 准备 安装的前提是虚拟机里已安装了jdk 去官网下载 Flink 所有版本下载地址&#xff1a;https://archive.apache.org/dist/flink/ 找到下图的安装包&#xff0c;下载即可 下载完后&#xff0c;将其上传至虚拟机的某个地方&#xff0c;本人将其放在 /home/flink/ 下 解压…

nacos面试题

Nacos中保证的是CP还是AP&#xff1f; 通常我们说&#xff0c;Nacos技能保证CP&#xff0c;也能保证AP&#xff0c;具体看如何配置&#xff0c;但其实只不过是Nacos中的注册中心能保证CP或AP&#xff0c;Nacos中的配置中心其实没什么CP或AP&#xff0c;因为配置中心的数据是存在…

2023.10.28 关于 synchronized 原理

目录 synchronized 特性 synchronized 优化机制 锁升级&#xff08;锁膨胀&#xff09; 其他优化机制 锁消除 锁粗化 synchronized 特性 开始时是乐观锁&#xff0c;如果锁冲突频繁&#xff0c;就转为悲观锁开始是轻量级锁&#xff0c;如果锁被持有的时间较长&#xff0c…

水果百科网站 vue+uniapp微信小程序设计与实现

设计并实现了鲜而廉水果微信小程序。系统选用java语言&#xff0c;应用Springboot框架&#xff0c; MySQL为后台数据库。系统主要包括用户、水果百科、水果视频、交流论坛等功能模块。 经过认真细致的研究&#xff0c;精心准备和规划&#xff0c;最后测试成功&#xff0c;系统可…

[导弹打飞机H5动画制作]飞机与导弹的碰撞检测

界面参考: 代码参考: this.btnShootTruck.addEventListener("click", startShoot); var _this = this; _this.ShootFire.stop(); _this.ShootFire.alpha = 0; //_this.AsyPlaneObj.gotoAndStop(0); _this.AsyPlaneObj.alpha = 1; _this.AsyPlaneObj.BombPlaneObj.al…

【vtk学习笔记2】vtk编程中的基本对象

一、VTK编程中的基本对象 数据可视化一般需要一个数据源&#xff0c;可以来说具体的算法&#xff0c;如有限元、边界元等&#xff0c;也可以是测量数据&#xff0c;如医学检测数据等。这些基础数据经过变换处理&#xff0c;变成计算机图形流水线支持的数据&#xff0c;最后显示…

redis实现分布式延时队列

文章目录 延时队列简介应用场景案例&#xff1a;考虑&#xff1a;实现&#xff1a;整体思路&#xff1a;具体实现生产者消费者 运行结果 redis分布式延时队列优势redis分布式延时队列劣势 延时队列简介 延时队列是一种特殊的消息队列&#xff0c;它允许将消息在一定的延迟时间…

【系统安全】等保二级、三级自查对比

目录 1、定义&#xff1a;二级 VS 三级 2、要求&#xff1a;二级 VS 三级 3、适用企业、单位 1、定义&#xff1a;二级 VS 三级 等保&#xff1a;全称网络安全等级保护&#xff0c;是指对信息系统进行分级&#xff0c;对不同等级的信息系统进行不同的安全保护和监管的工作。…