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

简介: 【图像算法】彩色图像分割专题七:基于分水岭的彩色分割      SkySeraph July 7th 2011  HQUEmail:zgzhaobo@gmail.com    QQ:452728574Latest Modified Date:July 7th 2011 HQU--------...

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

      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/

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

相关文章
|
Java 调度 Spring
Java异步非阻塞编程的几种方式
Java异步非阻塞编程的几种方式
Java异步非阻塞编程的几种方式
|
机器学习/深度学习 人工智能 计算机视觉
带你读《深度学习与图像识别:原理与实践》之一:机器视觉在行业中的应用
这是一部从技术原理、算法和工程实践3个维度系统讲解图像识别的著作,由阿里巴巴达摩院算法专家、阿里巴巴技术发展专家、阿里巴巴数据架构师联合撰写。在知识点的选择上,本书广度和深度兼顾,既能让完全没有基础的读者迅速入门,又能让有基础的读者深入掌握图像识别的核心技术;在写作方式上,本书避开了复杂的数学公式及其推导,从问题的前因后果 、创造者的思考过程,利用简单的数学计算来做模型分析和讲解,通俗易懂。更重要的是,本书不仅仅是聚焦于技术,而是将重点放在了如何用技术解决实际的业务问题。
|
7月前
|
机器学习/深度学习 人工智能 算法
智创 AI 新视界 -- 提升 AI 推理速度的高级方法(16 - 2)
本文深度聚焦提升 AI 推理速度,全面阐述模型压缩(低秩分解、参数量化)、硬件加速(GPU、TPU)及推理算法优化(剪枝感知推理、动态批处理)。结合图像识别等多领域案例与丰富代码示例,以生动形象且专业严谨的方式,为 AI 从业者提供极具价值的技术指南,助力突破 AI 推理速度瓶颈,实现系统性能跃升。
|
7月前
|
API Python
利用openvino模型推理图片
本文介绍了如何使用 OpenVINO 格式模型文件对图片进行推理。通过将训练好的模型转换为 OpenVINO 格式,可实现跨设备部署。文中详细展示了利用 Python 和 OpenVINO API 完成模型加载、编译及推理的步骤。核心代码包括初始化 OpenVINO 模型、设置预测参数(如置信度和 IoU 阈值)以及对图片进行检测并显示结果。注意:OpenVINO 模型文件需完整存放于同一目录下,路径需正确配置,参数可根据模型性能调整。
|
8月前
TeaScript数值书写规则
本内容介绍了数值的多种表示形式,包括十进制整数(如`14123`)、十六进制整数(如`0xFF`)、八进制整数(如`012`)以及实数(如`1.23`)。十进制和实数可带正负号,实数含小数点,支持科学计数法(如`1.23e3`)。十六进制以`0x`开头,八进制以`0`开头,各有对应数字范围。
317 71
|
5月前
|
机器学习/深度学习 缓存 文字识别
【繁体图片文字识别】竖排的繁体图片文字识别翻译,竖排的繁体图片文字如何识别,竖排繁体图片识别后转横排,竖排的繁体识别比较友好的方法
竖排繁体文字识别系统适用于古籍数字化、港澳台文档、书法作品、历史档案及学术研究等场景,支持图像预处理、自动旋转、OCR识别、竖转横与繁转简。通过咕嘎OCR与OpenCC技术,实现高效精准的文字转换与编辑。
658 0
|
5月前
|
机器学习/深度学习 人工智能 编解码
AI视觉新突破:多角度理解3D世界的算法原理全解析
多视角条件扩散算法通过多张图片输入生成高质量3D模型,克服了单图建模背面细节缺失的问题。该技术模拟人类多角度观察方式,结合跨视图注意力机制与一致性损失优化,大幅提升几何精度与纹理保真度,成为AI 3D生成的重要突破。
503 0
|
存储 Kubernetes 前端开发
容器服务ACK常见问题之把容器的时间改成宿主机的时区失败如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
SQL 算法 关系型数据库
MySQL Online DDL详解:从历史演进到原理及使用
MySQL Online DDL详解:从历史演进到原理及使用
|
消息中间件 存储 监控
生产故障|Kafka ISR频繁伸缩引发性能急剧下降
生产故障|Kafka ISR频繁伸缩引发性能急剧下降
生产故障|Kafka ISR频繁伸缩引发性能急剧下降

热门文章

最新文章