【图像算法】彩色图像分割专题七:基于分水岭的彩色分割

简介:

【图像算法】彩色图像分割专题七:基于分水岭的彩色分割

      SkySeraph July 7th 2011  HQU

Email:zgzhaobo@gmail.com    QQ:452728574

Latest Modified Date:July 7th 2011 HQU

------------------------------------------------------------------------------------------------------------------------

》原理

分水岭算法有好好几种实现算法,拓扑学,形态学,浸水模拟和降水模拟等,最常用的就是Soille和Vincent首先提出的模拟浸没的算法,该算法分割结果效果好,速度快,具有较强的实用性,其简要概括如下。其它更多细节见后文给出的参考资料,不再细述。

Vincent和Soille算法包括2个部分:第一个部分是排序;第二部分为泛洪。算法描述如下:

(1)将根据图像中每个像素的RGB值根据公式Gray=0.299R+0.587G+0.114B得到与之对应的灰度值。

(2)根据Sobel算子得到图像的梯度。(边缘像素的梯度为其邻域像素的梯度,梯度范围为0-255)

(3)对梯度进行从小到大的排序,相同的梯度为同一个梯度层级。

(4)处理第一个梯度层级所有的像素,如果其邻域已经被标识属于某一个区域,则将这个像素加入一个先进先出的队列。

(5)先进先出队列非空时,弹出第一个元素。扫描该像素的邻域像素,如果其邻域像素的梯度属于同一层(梯度相等),则根据邻域像素的标识来刷新该像素的标识。一直循环到队列为空。

(6)再次扫描当前梯度层级的像素,如果还有像素未被标识,说明它是一个新的极小区域,则当前区域的值(当前区域的值从0开始计数)加1后赋值给该为标识的像素。然后从该像素出发继续执行步骤5的泛洪直至没有新的极小区域。

(7)返回步骤4,处理下一个梯度层级的像素,直至所有梯度层级的像素都被处理。流程如下:

------------------------------------------------------------------------------------------------------------------------

》源码

核心代码(部分源码来源网络,修改并做了很详细的注释)

 

函数模块

 

-----------------------------------------------------------------------------------------------------------------------

》效果

找了一辆车做测试,效果勉强,运行速度很慢。

原图:

轮廓:

轮廓图:

------------------------------------------------------------------------------------------------------------------------

》参考资料:

Watershed (image processing): http://en.wikipedia.org/wiki/Watershed_(image_processing)

IMAGE SEGMENTATION AND MATHEMATICAL MORPHOLOGY http://cmm.ensmp.fr/~beucher/wtshed.html

分水岭算法(Watershed Algorithm):http://hi.baidu.com/changfeng01200/blog/item/0ed6920b51f82e1794ca6bc5.html

分水岭分割方法:http://hi.baidu.com/huangwenzhixin/blog/item/039d5713c81bf62add5401e2.html

分水岭算法简单实现http://blog.csdn.net/tt2com/article/details/6321610

分水岭分割算法http://hi.baidu.com/%CA%D8%CD%FB%CC%EC%B1%DF%B5%C4%D4%C2/blog/item/57926db72b319ee531add1d2.html

 

------------------------------------------------------------------------------------------------------------------------

Author:         SKySeraph

Email/GTalk: zgzhaobo@gmail.com    QQ:452728574

From:         http://www.cnblogs.com/skyseraph/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

目录
相关文章
|
算法 计算机视觉
OpenCV(四十):图像分割—漫水填充
OpenCV(四十):图像分割—漫水填充
655 0
|
机器学习/深度学习 编解码 算法
YOLOv8改进 | 主干网络 | 增加网络结构增强小目标检测能力【独家创新——附结构图】
YOLOv8在小目标检测上存在挑战,因卷积导致信息丢失。本文教程将原网络结构替换为更适合小目标检测的backbone,并提供结构图。通过讲解原理和手把手教学,指导如何修改代码,提供完整代码实现,适合新手实践。文章探讨了大特征图对小目标检测的重要性,如细节保留、定位精度、特征丰富度和上下文信息,并介绍了FPN等方法。YOLOv8流程包括预处理、特征提取、融合和检测。修改后的网络结构增加了上采样和concatenate步骤,以利用更大特征图检测小目标。完整代码和修改后的结构图可在文中链接获取。
10146 2
|
11月前
|
数据挖掘 API 数据安全/隐私保护
淘宝商品评论API接口全攻略
淘宝商品评论API接口为电商从业者提供重要数据支持,帮助分析商品评价和舆情。通过淘宝开放平台或第三方数据服务提供商可获取该接口。使用时需注册账号、创建应用并获取密钥。调用流程包括参数准备、签名生成、发送请求及处理响应。Python示例代码展示了具体实现方法。注意事项包括频率限制、数据更新和安全性。 简要步骤: 1. **淘宝开放平台**:注册账号、入驻、创建应用、获取密钥。 2. **第三方服务**:选择准确、稳定且价格合理的提供商。 3. **接口调用**:准备参数、生成签名、发送请求、解析响应。 4. **注意事项**:遵守频率限制,确保数据安全与及时更新。
368 28
|
11月前
|
机器学习/深度学习 JSON 算法
淘宝拍立淘按图搜索API接口系列的应用与数据解析
淘宝拍立淘按图搜索API接口是阿里巴巴旗下淘宝平台提供的一项基于图像识别技术的创新服务。以下是对该接口系列的应用与数据解析的详细分析
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
1418 5
|
SQL 数据可视化 数据挖掘
想让Excel表格设计更美观?试试这几款好用工具!
Excel表格设计在项目管理和数据分析中至关重要。本文推荐四款辅助工具:板栗看板、Excel自动图表助手、Think-Cell Chart 和 Power BI,分别在任务管理、图表生成、数据可视化等方面表现突出,帮助你设计出更专业、美观的表格。
1462 2
|
数据处理 Python
如何优化Python读取大文件的内存占用与性能
如何优化Python读取大文件的内存占用与性能
992 0
|
文字识别 API 开发工具
印刷文字识别使用问题之如何进行私有化部署
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
存储 算法
【树】数据结构——树和二叉树的概念&笔记
【树】数据结构——树和二叉树的概念&笔记
|
文字识别 安全 网络安全
印刷文字识别产品使用合集之一般包含什么信息, 会被认为敏感信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。

热门文章

最新文章