当前位置: 首页 > news >正文

传统图像分割方法:阈值分割、Canny检测

传统图像分割方法

1、阈值分割

它利用图像中要提取的目标与背景在灰度上的差异,通过设置阈值来把像素分成若干类,从而实现目标与背景的分离。阈值分割有以下几种方法:(1)固定阈值分割(2)迭代阈值分割(3)大津法OTSU(4)自适应阈值分割

1.1固定阈值分割

将灰度值大于某一阈值的像素点设置为255,而小于等于该阈值的点设置为0。函数说明:函数threshold()可以将灰度图像转换为二值图像,图像完全由像素0和255构成呈现出只有黑白两色的视觉效果。经过二值化处理后的图像(Fix Iamge),仅包含黑白像素,用于分离目标与背景。

1.2固定阈值分割缺点

当图像存在光照不均匀时,全局固定阈值无法适应不同区域的亮度变化。例如,同一物体在明亮区域和阴影区域的灰度值差异较大,使用单一阈值可能导致部分区域过分割(误将背景划为前景)或欠分割(未能完全提取目标)。

2 边缘检测

边缘检测算法(如Canny、Sobel)通过梯度变化识别目标边界,而边缘通常对光照变化具有鲁棒性。结合边缘信息,可以约束阈值分割的范围,例如:仅在边缘附近进行局部阈值调整,避免全局阈值受光照不均的影响。通过边缘位置确定感兴趣区域(ROI),减少背景干扰。

边缘检测的目的就是找到图像中亮度变化剧烈的像素点构成的集合,表现出来往往是轮廓。如果图像中边缘能够精确的测量和定位,就意味着实际的物体能够被定位和测量,包括物体的面积、物体的直径、物体的形状等就能被测量。

2.1 Canny边缘检测

Canny边缘检测在一阶微分算子的基础上,增加了非最大值抑制和双阈值两项改进。利用非极大值抑制不仅可以有效地抑制多响应边缘,而且还可以提高边缘的定位精度;利用双阈值可以有效减少边缘的漏检率。

Canny边缘检测主要分四步进行:去噪声、计算梯度与方向角、非最大值抑制、滞后阈值化。

其中前两步,先用一个高斯滤波器对图像进行滤波,然后用Sobel水平和竖直检测子与图像卷积,来计算梯度和方向角。

第三步:非极大值抑制是一个关键步骤,目的是细化边缘,消除梯度方向上的非最大值,只保留最强的边缘像素。

(1)二值化效果:边缘为白色(255),背景为黑色(0),形成高对比度的黑白图像。边缘线条单像素宽,清晰且连续

(2)输入是一张人脸照片,Canny检测后会将轮廓(如眼睛、鼻子、嘴唇)、头发边缘等转换为白色细线,其余区域为黑色。

2.2 滞后阈值化

由于噪声的影响,经常会在本应该连续的边缘出现断裂的问题。滞后阈值化的目的是通过双阈值策略解决以下问题:

(1)筛选真实边缘:排除噪声引起的伪边缘。

(2)连接断裂边缘:确保弱边缘在合理范围内被保留,提升边缘连续性。

(3)平衡灵敏度与鲁棒性:避免单一阈值导致的过分割(保留过多噪声)或欠分割(丢失真实边缘)。

 具体实现步骤(1)设定双阈值:

高阈值:用于直接标记强边缘(确信为真实边缘的像素)。

低阈值:用于标记弱边缘(可能是真实边缘的候选像素)。

(2)分类处理像素:

强边缘:直接保留为最终边缘。弱边缘:仅当与强边缘连通时保留。非边缘:直接舍弃。

边缘跟踪:从强边缘出发,沿梯度方向搜索相邻的弱边缘,若弱边缘与强边缘连通,则将其提升为强边缘。

2.3 Canny边缘检测优点

1. 高精度边缘检测(单像素宽边缘)。
2. 抗噪声能力强(高斯滤波预处理)。
3. 能检测弱边缘(双阈值跟踪)


文章转载自:
http://anglerfish.pzdurr.cn
http://artsy.pzdurr.cn
http://agrobiology.pzdurr.cn
http://autonomist.pzdurr.cn
http://capricorn.pzdurr.cn
http://ananias.pzdurr.cn
http://ambassadorial.pzdurr.cn
http://burgundian.pzdurr.cn
http://caldera.pzdurr.cn
http://calmbelt.pzdurr.cn
http://caballo.pzdurr.cn
http://apologetically.pzdurr.cn
http://antiaircraft.pzdurr.cn
http://abirritation.pzdurr.cn
http://badderlocks.pzdurr.cn
http://christen.pzdurr.cn
http://childermas.pzdurr.cn
http://bioclean.pzdurr.cn
http://bonus.pzdurr.cn
http://caucasus.pzdurr.cn
http://calculably.pzdurr.cn
http://anthologist.pzdurr.cn
http://anguilliform.pzdurr.cn
http://cafeteria.pzdurr.cn
http://auxotroph.pzdurr.cn
http://accredit.pzdurr.cn
http://anesthesiology.pzdurr.cn
http://canonic.pzdurr.cn
http://anomalous.pzdurr.cn
http://avon.pzdurr.cn
http://www.dtcms.com/a/215621.html

相关文章:

  • 大学大模型教学:基于NC数据的全球气象可视化解决方案
  • win32相关(进程相关API)
  • 什么是DevOps的核心目标?它如何解决传统开发与运维之间的冲突?​
  • 好坏质检分类实战(异常数据检测、降维、KNN模型分类、混淆矩阵进行模型评估)
  • 7000字基于 SpringBoot 的 Cosplay 文化展示与交流社区系统设计与实现
  • Excel 统计某个字符串在指定区域出现的次数
  • 有什么excel.js支持IE11,可以显示EXCEL单元格数据,支持单元格合并,边框线,单元格背景
  • 小样本分类新突破:QPT技术详解
  • day 33 python打卡
  • SPSS跨域分类:自监督知识+软模板优化
  • SpringBoot-允许跨域配置
  • 参数/非参数检验和连续/离散/分类等变量类型的关系
  • Rust 开发的一些GUI库
  • Reactor和Proactor
  • React从基础入门到高级实战:React 核心技术 - 错误处理与错误边界:构建稳定的应用
  • React 虚拟dom
  • Rust语言学习教程、案例与项目实战指引
  • 甲醇 燃料 不也有碳排放吗?【AI回答版】
  • FPGA 的分类和发展
  • Rust 学习笔记:关于闭包的练习题
  • 运维自动化工具 ansible 知识点总结
  • 怎么查找idea插件的下载位置,并更改
  • 探究Azure devops 流水线缓存
  • 2025年5月蓝桥杯stema省赛真题——象棋移动
  • 测试报告里都包含哪些内容?
  • LLM 驱动的 Go 到 Rust 项目迁移的挑战与实践
  • 如何从经纬度数据中判断哪个是经纬度
  • Spring Boot 3.4.6 中文文档上线
  • 分布式爬虫监控架构设计
  • NFS 挂载配置与优化最佳实践指南