opencv图像处理详细讲(二)

news2024/7/4 4:32:43

联通组件分析

        联通组件定义:像素值相同,通过四邻域或者八邻域相互连通的像素块。

        换句话说,就是使用四邻域或八邻域的连通性,遍历图像的像素,并确定像素值相同并且连通的像素块,将它们标记为一个联通组件

两步法:

        一、扫描联通域并标记

        二、合并等价类

轮廓发现

轮廓分析

轮廓分析 - 属性计算

轮廓分析-关键点编码提取

轮廓分析 - 拟合

轮廓分析 - 拟合函数

图像形态学

图像形态学 - 膨胀与腐蚀

        膨胀可以看成是最大值滤波,即用最大值替换中心像素点

        腐蚀可以看成是最小值滤波,即用最小值替换中心像素点

图像形态学 - 开闭操作

开操作 = 腐蚀 + 膨胀操作 - 删除小的干扰块

开操作主要用于去除图像中的小物体、细小的孔洞或者平滑图像的边缘。开操作可以平滑物体的边界,并且移除小的噪点, 从而减少图像中的细节信息。

闭操作 = 膨胀 + 腐蚀操作 - 填充闭合区域

闭操作主要用于填充图像中的小孔洞、连接相邻物体或者平滑图像的边界。闭操作可以平滑物体的边界,并且填充小的空洞,从而

Tlackhat(黑帽)操作:blackhat操作是一种形态学操作,它用于突出比原始图像暗的区域。它通过计算原始图像与开运算结果之间的差异来实现。开运算是一种先腐蚀再膨胀的操作,它可以以平滑图像并移除较小的细节,从而突出了比原始图像暗的区域。Blackhat操作的结果是图像中较暗的特征,这在图像增强和特征检测中很有用。

Tophat(白帽/顶帽)操作:Tophat操作与Blackhat相反,它用于突出比原始图像亮的区域。Tophat操作冰移除较小的细节,从而突出比原始图像与闭运算结果之间的差异来实现。闭运算是一种先膨胀再腐蚀的操作,它可以填充物体内部的小孔并平滑物体的边缘,从而突出了比原始图像亮的区域。Tophat操作的结果是原始图像中较亮的特征,这对于图像增强和特征提取同样很有用。

图像形态学 - 梯度

        OpenCV的形态学梯度是图像基本梯度

        图像膨胀之后的结果减去腐蚀之后结果差值图像为形态学梯度,对应的函数参数为:cv.MORPH_GRADIENT

案例 - 基于轮廓分析的提取编码点

通过二值分析提取轮廓,寻找最大轮廓并获取关键点

1、二值化

2、形态学操作

3、轮廓发现

4、寻找最大轮廓

5、轮廓逼近提取关键点

6、绘制轮廓与关键点

工业

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

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

相关文章

大数据面试题(十):Hive的高频面试考点(二)

文章目录 Hive的高频面试考点 一、请说明Hive中 sort by ,order by ,cluster by ,distribute by各代表什么意思

dockerk8s常用知识点

1、什么是docker 容器化和虚拟化对比 ▪开源的应用容器引擎,基于 Go 语言开发 ▪容器是完全使用沙箱机制,容器开销极低 ▪Docker就是容器化技术的代名词 ▪Docker也具备一定虚拟化职能 docker三大核心: Docker Engine: 提供了一个可以用来运行和管…

C++证道之路第十八章探讨C++新标准

一、复习前面介绍过的C11新功能 1、新类型 C11新增了类型long long 和unsigned long long 新增了类型char16_t 和char32_t 2、统一的初始化 C11扩大了用大括号括起的列表(初始化列表)的使用范围,使其可以用于所有内置类型和用户定义的类…

大数据Spark教程从入门到精通第三篇:Spark核心模块

一:Spark核心模块 1:概述 Spark最底层的模块是Apache Spark Core,其他的功能都是基于此实现的。 Spark SQL操作结构化数据的模块 Spark Streaming 对流式数据处理的模块。 Spark MLlib对机器学习支持的一个功能模块。学习难度很高 Spark Gra…

dumpsys meminfo 流程中细节

源码基于:Android U 参考: dumpsys meminfo 详解(R) dumpsys meminfo 详解(U) 1. 命令入口 MemBinder frameworks/base/services/core/java/com/android/server/am/AMS.javastatic class MemBinder extends Binder {ActivityManagerService mActivity…

Python-VBA函数之旅-print函数

目录 一、print函数的常见应用场景 二、print函数使用注意事项 三、如何用好print函数? 1、print函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:神奇夜光杯-CSDN博客 一、print函数的常见应…

Prometheus 2: 一个专门评估其他语言模型的开源语言模型(续集)

普罗米修斯的续集来了。 专有的语言模型如 GPT-4 经常被用来评估来自各种语言模型的回应品质。然而,透明度、可控制性和可负担性等考虑强烈促使开发专门用于评估的开源语言模型。另一方面,现有的开源评估语言模型表现出关键的缺点:1) 它们给出的分数与人类给出的分数存在显著差…

Unity射击游戏开发教程:(11)制造敌人爆炸

增加爆炸效果 爆炸一切都变得更好!尤其是当你消灭敌人时。在这篇文章中,我将讨论如何在敌人被击中时为其添加爆炸动画。 在敌人的预制件中,您将需要创建一个新的动画。查看控制动画的动画器,默认情况下将从进入动画到敌人爆炸动画。这意味着,一旦敌人被实例化,敌人爆炸…

02、Kafaka 简介

02、Kafka 简介 1、 Kafka 简介 Apache Kafka 是一个分布式的发布-订阅消息系统,最初由 LinkedIn 公司开发,并在 2010 年贡献给了 Apache 软件基金会,成为一个顶级开源项目。Kafka 设计之初是为了满足高吞吐量、可扩展性、持久性、容错性以…

深度学习中的不确定性量化:技术、应用和挑战综述(一)

不确定性量化(UQ)在减少优化和决策过程中的不确定性方面起着关键作用,应用于解决各种现实世界的科学和工程应用。贝叶斯近似和集成学习技术是文献中使用最广泛的两种UQ方法。在这方面,研究人员提出了不同的UQ方法,并测试了它们在各种应用中的…

10.Java对象内置结构

文章目录 Java对象内置结构1.Java对象的三个部分1.1.对象头1.2.对象体1.3.对齐字节 2.对象结构中核心字段的作用2.1.MarkWord(标记字)2.2.Class Pointer(类对象指针)2.3.Array Length(数组长度)2.4.对象体2.5.对齐字节 3.Mark Word的结构信息3.1.不同锁状态下的Mark Word字段结…

GraphGPT——图结构数据的新语言模型

在人工智能的浪潮中,图神经网络(GNNs)已经成为理解和分析图结构数据的强大工具。然而,GNNs在面对未标记数据时,其泛化能力往往受限。为了突破这一局限,研究者们提出了GraphGPT,这是一种为大语言…

部署YUM仓库以及NFS共享服务

YUM仓库部署 一.YUM概述 YUM仓库源是一种软件包管理工具,用于在Linux系统上安装、更新和删除软件包。YUM仓库源包含了软件包的元数据信息和实际的软件包文件。用户可以通过配置YUM仓库源,从中下载和安装软件包。 常见的YUM仓库源包括: 本…

pip install dotenv出现error: subprocess-exited-with-error的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

springboot+vue+elementui实现校园互助平台大作业、毕业设计

目录 一、项目介绍 二、项目截图 管理后台 1.登录(默认管理员账号密码均为:admin) 2. 用户管理 ​编辑 3.任务管理 互助单(学生发布) 行政单(教师发布) ​编辑 审核(退回需…

36.Docker-Dockerfile自定义镜像

镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。 镜像是分层机构,每一层都是一个layer BaseImage层:包含基本的系统函数库、环境变量、文件系统 EntryPoint:入口,是镜像中应用启动的命令 其他:在…

电脑c盘太满了,如何清理 电脑杀毒软件哪个好用又干净免费 电脑预防病毒的软件 cleanmymacX有必要买吗 杀毒软件排行榜第一名

杀毒软件通常集成监控识别、病毒扫描和清除、自动升级、主动防御等功能,有的杀毒软件还带有数据恢复、防范黑客入侵、网络流量控制等功能,是计算机防御系统的重要组成部分。 那么,对于Mac电脑用户来说,哪款电脑杀毒软件更好呢&a…

PCB光控打孔机第二版程序(一)

/*PCB机程序 XY同时启动 L9751 CODE61068 2018 6 19 08:00 固定位置释放吸盘*/ /*修正寻点第十二条结束调用计算坐标L5091,自动运行Y计算L6280 6281***/ /*** 开外部中断2关闭定时器2XY轴输出信号,自动运行循环检测外部中断高电平重启XY轴输出信号 增加寻…

LeetCode 难题解析 —— 正则表达式匹配 (动态规划)

10. 正则表达式匹配 思路解析 这道题虽然看起来不难理解,但却存在多种可能,当然这种可能的数量是有限的,且其规律对于每一次判别都使用,所以自然而然就想到用 动态规划 的方法啦 接下来逐步分析可能的情况: &#x…

探索中位数快速排序算法:高效寻找数据集的中间值

在计算机科学领域,寻找数据集的中位数是一个常见而重要的问题。而快速排序算法作为一种高效的排序算法,可以被巧妙地利用来解决中位数查找的问题。本文将深入探讨中位数快速排序算法的原理、实现方法以及应用场景,带你领略这一寻找中间值的高…