OpenCV图像分割常用算法(二)

OpenCv—图像分割 OpenCv图像分割 阅读详情

导读:在对处理后的图像数据进行分析之前,图像分割是最重要的步骤之一。它的主要目标是将图像化分为与其中含有的真实世界的物体或区域有枪相关性的组成部分。


加助理小姐姐威信:领取课件资料,还有200G人工智能大礼包内含:Pytorch、TensorFlow实战框架视频、图像识别、OpenCV、计算机视觉、深度学习与神经网络等视频、代码、PPT以及人工智
能书籍,一并可以无套路免费分享给大家!

扫码加V免费咨询学习问题领取资料,大牛答疑、大厂内推

 文章推荐:图像分割算法(一)

匹配是分割的另一种基本方法,可以用于在图像中定位已知的物体,也可以用于搜索特殊的模式等。例如:

匹配的用途:

  1. 不同位置拍摄对同一场景拍摄许多图像,可以用于确定立体场景的性质。
  2. 对动态图像进行匹配
  3. etc.

最好的匹配是基于某种最优性准则的,该准则依赖于物体的性质和物体的关系。

一、匹配标准

在实际的图像中,模式的某部分通常会由于噪声、几何变形、遮挡等因素而损坏。因此绝对匹配几乎不可能,搜索最大匹配的位置更合适。算法如下:

匹配标准的定义有多种方式,尤其,模式与被搜索的图像数据间的相关性是一个普遍性匹配标准。

如果可以使用快速有效的傅里叶变换算法,则可以使用卷积定理来评价匹配。

在斜切基础上也可以定义匹配算法,用于定位特征,eg. 边缘图中已知的边界。

二、匹配的控制策略

基于图像的分割在图像中定位所有的与搜索模式与洁净的复制的位置。这些复制必须与模式大小和方向上都匹配,且几何变形要小。

三、分割的评测问题

对单个算法在不同数据集上的评测提供了有关该算法的鲁棒性信息,以及对不用条件和模态下获得的数据的处理能力的信息。

(一)监督式评测

监督式评测假设"正确"的结果已知——通常情况下这意味对真值(ground truth)的定义,eg.可以通过合适的交互界面画出正确的图像边界。

几乎所有的监督式的评估方法是基于以下两种方法之一:

1. 错误分类区域——相互重叠区域

相互重叠区域(mutual overlap)的方法,也称为 Dice 评测,该方法是计算真值(ground truth)和分割区域的重叠部分为基础。

这个方法在某些情况下很有效,eg. 二值、RGB 或者某些卫星数据,但是并总不能适用。

缺点:

  1. 该方法的简单性常掩盖了不同分割方法的区别,很少甚至不能反映出便捷又可能仅局部正确的信息
  2. 并不是所有情况下都成立 “封闭的边界” ,该方法仅适用于分割边界与真值的距离是单峰分布并且具有较小的方差的情况。但无法解决真值定义不确定的情况。

但由于其简单性,仍旧被广泛用于分割算法的评测,eg. 医学图像。

2. 边界定为错误

这是提出的一种考虑分割结果与真值的像素间欧氏距离的方法。这是一个关于两个集合 Hausdorff 测度相关的问题:集合 A 和集合B 的 Hausdorff 距离,通过找两个几何元素的最短距离的最大值的方法来计算。

这个思想可以使用只考虑边界像素——度量区域的边界而不是区域本身的距离,这样可以对不闭合的边界进行评测。对于米格分割便捷的点可以用其到真值边界上的点的有向距离来确定边界定位错误。并且,度量的方向仍然是相对的,eg.

边界定位错误通常情况下对整个分割边界上的所有点求平均,用平均值 ± 标准差的形式来表示。

(二)非监督式评测

获得真值的苦难在于其不精确的定义、信息缺乏和时间消耗,这些原因使得半监督式的评测方法非常便捷:通过对图像及分割的特性进行统计获得的定量性质不需要知道真值。

所有的非监督式的度量都具有各自的有点,并且可以证明其价值:可以通过在一个大型的数据集合上关联该非监督式的度量和一个可信赖的监督式的度量(或真值)来证明。

三、总结


 


 编整理了有关Python人工智能的资料,有图像处理opencv\自然语言处理、机器学习、数学基础等资源库,想学习人工智能或者转行到高薪资行业的,大学生也非常实用,无任何套路免费提供,    扫码+vx领取,也可以咨询学习问题

图像分割—基于图的图像分割(OpenCV源码注解) 原文是Linux平台,图像格式PPM,比较不习惯,我改成了OpenCV,效果有一点点差别,应该是高斯滤波效果有差异。 阅读详情

相关推荐

OpenCV分水岭算法图像分割

文章目录声明正文原理函数pyrMeanShiftFiltering()Otsu’s 二值化cv.getStructuringElementcv.morphologyExcv.dilatecv.distanceTransformcv.connectedComponents完整代码 声明 声明:本系列博客是我在学习OpenCV官方教程中文版(For Python)(段力辉 译)所做的笔记。所以,其中的绝大部分内容引自这本书,博客中的代码也是其配套所附带的代码或书中的代码,侵删。其中部分代码可能会因需要而改动。

冰冰bing的博客 2992

【图像分割】OpenCV实现图像分割

在实际应用中,通常需要对以上方法进行调整和组合,以适应不同的图像特征和分割需求。另外,图像分割的效果往往受到光照、阴影、噪声等因素的影响,因此预处理步骤(如降噪、对比度增强)也是非常重要的。如果图像复杂或者对比度较低,可能需要采用更高级的分割技术,如基于颜色的分割、聚类方法或深度学习方法。函数进行全局阈值化,其中127是设定的阈值,超过这个值的像素会被设置为255(白色),其余设为0(黑色)。算法进行标记和分割,适用于图像中有明显水位线的场景。实现,它是一种基于超像素的聚类方法,适用于图像分割。

G_redsky的博客 2586

OpenCV4学习笔记(51)——基于K-Means聚类算法实现的图像分割

在上一篇博文《OpenCV4学习笔记(50)》中整理记录了关于K-Means聚类算法的一些相关内容,那么本次笔记就来针对K-Means算法在图像分割方面的应用进行一些小小的整理。 图像分割是指将一幅图像分割成若干互不相交区域的集合,其实质可以看成是一种像素的聚类过程,先来看一下图像分割在维基百科上的定义: 在计算机视觉领域,图像分割(segmentation)指的是将数字图像细分为多个图像子区域...

邱小兵的博客 3227

OpenCV 之 图像分割 (一)

1 基于阈值 1.1 原理 灰度阈值化,是最简单的图像分割,其速度最快,广泛用于硬件图像处理领域 (例如,基于 FPGA 的实时图像处理等)。 设输入图像 $f$,输出图像 $g$,则阈值化公式如下: $\quad g(i, j) = \begin{cases} 1 & \text{当 f(i, j) ≥ T 时} \\0 & \text{当 f(i, j)...

weixin_30770495的博客 856

OpenCV(三)——图像分割(一)

目录 1.图像分割 2.固定阈值法——直方图双峰法 3.自动阈值法 3.1 自适应阈值法 3.2 迭代阈值分割 3.3 Otsu大津法 4.边缘检测 4.1 图像梯度的概念 4.2 模板卷积和梯度图的概念 4.3 梯度算子 4.4Canny边缘检测算法 5.连通区域分析 5.1 连通区域概要 5.2 Two-Pass算法 6.区域生长算法 6.1 区域生长概要 6.2 区域生长原理 7.分水岭算法 7.1 分水岭算法概要 7.2 分水岭算法 1...

Billie使劲学的博客 2万+

OpenCV计算机视觉实战(16)——图像分割技术

本节从分水岭的高程地图思路切入,讲解如何借助距离变换与连通组件构建水漫分割,再通过 GrabCut 的图割模型与用户交互实现更高精度的前景去背,最后以 FloodFill 的种子驱动方式演示快速区域生长。三者各有侧重,却可互为补充:分水岭适合自动化预分割,GrabCut 适合复杂边缘细化,FloodFill 则胜在简单直观和交互式应用。

qq_30167691的博客 1495

OpenCV—Python 分水岭算法图像分割

文章目录一、前言二、cv2.distanceTransform(src, distanceType, maskSize)三、基于标记的分水岭分割功能四、示例代码 一、前言 分水岭算法是一种图像区域分割法,在分割的过程中,它会把跟临近像素间的相似性作为重要的参考依据,从而将在空间位置上相近并且灰度值相近的像素点互相连接起来构成一个封闭的轮廓,封闭性是分水岭算法的一个重要特征。 其他图像分割方法,如阈...

红叶谷 wsp_1138886114的博客 2万+

OpenCV实战——基于分水岭算法的图像分割

分水岭变换是一种流行的图像处理算法,用于快速将图像分割成同质区域。分水岭变换主要基于以下思想:当图像被视为拓扑浮雕时,均质区域对应于相对平坦且由陡峭的边缘界定的盆地。算法的原始版本倾向于过度分割图像,从而产生多个小区域,因此 OpenCV 中实现了该算法的改进版本,通过使用一组预定义的标记来指导图像分割区域的定义。

盼小辉丶的博客 2万+

【OpenCv】图像分割——聚类算法

文章目录1 原理2 API3 图像分割4 代码解释 1 原理 KMeans算法概述 KMeans算法的作者是MacQueen, KMeans的算法是对数据进行分类的算法,采用的硬分类方式,是属于非监督学习的算法; 对于给定的样本集,按照样本之间的距离大小,将样本划分为K个簇,让簇内的点尽量紧密的连接在一起,而让簇间的距离尽量的大。 KMeans算法流程 1:选择K个点作为初始质心。 2:Repeat 3: 计算邻近度,将每个点指派到最近的质心,形成K个簇; 4: 重新计算每个簇的质心; 5: Unti

weixin_53598445的博客 9979

OpenCV实战——基于GrabCut算法的图像分割

颜色信息可以用于将图像分割成与场景特定元素相对应的区域。每类对象通常具有独特的颜色,通常可以通过识别相似颜色的区域来提取。OpenCV 提供了一种流行的图像分割算法—— GrabCut 算法的实现。GrabCut 是一种复杂且计算量大的算法,但它通常会得到非常准确的结果。

盼小辉丶的博客 2万+

OpenCv学习笔记4--图像分割之GrabCut算法

说明: 本文章是opencv学习笔记系列的第四篇小结,可能前几篇内容太多,排版也不甚合理,所以为了更好的观看体验,这次的内容会稍微少那么一点点,再次重申 所有代码在我的github主页https://github.com/RenDong3/OpenCV_Notes. 欢迎star,不定时更新... 所谓图像分割指的是根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并使这些特...

小熊猫的博客 8393

图像分割—GrabCut算法

Grabcut是基于图割(graph cut)实现的图像分割算法,它需要用户输入一个bounding box作为分割目标位置,实现对目标与背景的分离/分割,这个跟KMeans与MeanShift等图像分割方法有很大的不同,但是Grabcut分割速度快,效果好,支持交互操作,因此在很多APP图像分割/背景虚化的软件中可以看到其身影。 该算法主要基于以下知识: k均值聚类 高斯混合模型建模(GMM)...

红叶谷 wsp_1138886114的博客 2万+

BEVFusion(mit)最强环境安装,部署复现

BEVFusion作为一项经典的工作,值得深入探索。然而由于配置环境比较麻烦,耽误了一些时间。经过几次成功配置之后,有了一些总结,在这里记录下来,供大家参考避坑,也方便自己下次查阅。

qq_45783225的博客 1万+

【OpenCv】图像分割——分水岭算法

文章目录1 原理2 算法改进3 API4 实例 1 原理   分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。这种方法也称作泛洪法,对应的

weixin_53598445的博客 9513

STM32F103上跑mbedtls 2.24.0:手把手教你为MQTTS加密通信打好基础

本文详细介绍了如何在STM32F103上移植和裁剪mbedtls 2.24.0,为MQTTS加密通信打下坚实基础。通过版本选择、开发环境配置、深度裁剪策略和加密功能验证,帮助开发者在资源受限的MCU上实现安全通信。文章还提供了常见问题解决方案和性能优化技巧,助力物联网设备开发。

weixin_30321709的博客 462

DEA-Malmquist指数模型实战:从理论到应用的全流程解析

本文全面解析了DEA-Malmquist指数模型从理论到应用的全流程。文章详细阐述了该模型如何动态衡量效率随时间的变化,并将其分解为技术效率变化与技术进步,从而精准定位效率变动的根源。通过实战步骤演示了数据准备、软件操作(如DEAP 2.1)及结果解读,并结合水资源环境效率等案例,展示了其在包含非期望产出时的应用价值,为研究者进行动态效率分析提供了清晰指南。

b0c1d2的博客 220

opencv 图像分割与提取(python)

图像分割与提取图像分割与提取用分水岭算法实现图像分割与提取算法原理相关函数介绍分水岭算法图像分割实例交互式前景提取 图像分割与提取 图像中将前景对象作为目标图像分割或者提取出来。 对背景本身并无兴趣 分水岭算法及GrabCut算法对图像进行分割及提取。 用分水岭算法实现图像分割与提取 分水岭算法将图像形象地比喻为地理学上的地形表面,实现图像分割,该算法非常有效。 算法原理 任何一幅灰度图像,都可以被看作是地理学上的地形表面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷。 左图是原始图像,右

wkk的博客 1万+

别再魔改LWIP了!用STM32CubeMX配置F407的TCP保活(KeepAlive)与自动重连

本文详细介绍了如何通过STM32CubeMX配置STM32F407的LWIP协议栈,实现TCP保活(KeepAlive)与自动重连功能,解决网络异常断开问题。文章提供了从基础环境配置到自动重连架构设计的完整指南,帮助开发者构建高可靠的网络连接机制,适用于工业物联网和嵌入式设备开发。

weixin_27038245的博客 234

OpenCV图像分割

阈值分割阈值分割是最基础的图像分割方法之一,通过设定一个阈值将像素分为两组:前景和背景。该方法假设图像中的目标和背景的灰度值差异较大,存在一个合适的阈值,使得灰度值高于该阈值的像素被划分为目标,灰度值低于该阈值的像素被划分为背景。自适应阈值分割自适应阈值分割能够根据图像的不同区域自动调整阈值,适用于光照不均的场景。该方法将图像划分为多个小区域(子块),每个子块分别计算阈值进行分割。Otsu’s二值化Otsu’s二值化是一种自动寻找最佳阈值的方法,特别适合于单峰分布的图像。

putaolove的博客 1384

U盘重装Win10系统

准备工作 准备一个8G或8G以上U盘(32G以内) 请备份好u盘里的资料,在制作过程中会格式化硬盘 请备份好要安装系统的盘的资料,安装时也会对该盘内容进行格式化。 将u盘插入电脑usb接口中,尽可能的插入usb3.0的接口,这样下载和安装速度会更快。 1.到微软官网下载安装包 浏览器输入:微软官网下载win10 懒人请复制粘贴:https://www.microsoft.com/zh-cn/software-download/windows10 ​ 打开之后的界面: 2.下载Media Creat.

Cici$的博客 2115

把 ABAP writable CDS view entity 讲透:从只读建模到可写模型的 ABAP CDS 新能力

摘要:SAP引入的writable CDS view entity突破了传统CDS视图只读的限制,允许通过ABAP SQL直接进行数据修改。该特性通过WRITABLE关键字定义,使CDS视图成为与数据库表同等级别的可写对象。其核心价值在于为数据集成、中间层同步等场景提供结构化写入入口,但需注意不应绕过业务规则。最佳实践建议保持底层表结构简单映射,避免复杂变形。这一特性标志着CDS从单纯消费模型向双向数据交互能力的演进,为ABAP开发提供了新的数据边界设计思路。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1313

OpenCV进行图像分割:分水岭算法(相关函数介绍以及项目实现)

在图像处理的过程中,经常需要从图像中将前景对象作为目标图像分割或者提取出来。图像分割是图像处理过程中一种非常重要的操作。分水岭算法将图像形象地比喻为地理学上的地形表面,实现图像分割,该算法非常有效。 二、算法原理 任何一幅灰度图像,都可以被看作是地理学上的地形表面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷。如下图所示,其中左图是原始图像,右图是其对应的“地形表面”。 如果我们向每一个山谷中“灌注”不同颜色的水(这里采用了OpenCV官网的表述,冈萨雷斯将灌注表述为在山谷中打洞

l love CV 8054

计算数列位置N的值

本文介绍了一个数列生成问题,要求根据输入的两个整数M和N生成特定规则的数列,并输出第N个位置上的数值。数列生成规则为:前M个元素为1到M;后续元素根据前M个元素是否重复来决定计算方式(求和或求差)。文章提供了C++、Java和Python三种语言的实现方案,均包含输入处理、数列初始化、循环计算和结果输出等步骤。各语言实现中均使用集合去重特性判断重复元素,并通过内置函数或自定义方法求取最大值和最小值。该问题主要考察基础编程能力,包括数组/列表操作、最值计算和重复元素判断等基本编程技巧。

面试高手的博客 652

OpenCV:图像分割之GrabCut算法

GrabCut是一种强大的图像分割算法,结合了高斯混合模型和图割优化,能够高效地从图像中提取前景区域。通过矩形框或掩码的初始化,算法能够快速适应不同的图像分割任务。GrabCut 在前景与背景对比明显的情况下效果显著。

u011186532的专栏 3506

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【OpenCV + Python】分水岭算法图像分割

任何一副灰度图像都可以被看成拓扑平面,灰度值高的区域可以被看成是 山峰,灰度值低的区域可以被看成是山谷。我们向每一个山谷中灌不同颜色的水。随着水的位的升高,不同山谷的水就会相遇汇合,为了防止不同山谷的水汇合,我们需要在水汇合的地方构建起堤坝。不停的灌水,不停的构建堤坝直到所有的山峰都被水淹没。我们构建好的堤坝就是对图像的分割。这就是分水岭算法的背后哲理。 但是这种方法通常都会得到过度分割的结果,这...

zhouzongzong的博客 6556

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: OpenCV图像分割经典算法(一)基于区域的分割、基于边缘的分割、阈值化
下一篇: 人工智能学习路线
普通网友
博客等级 码龄5年 1265粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值