0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenCV中实现了图像形态学什么常见操作?

新机器视觉 来源:视学算法 作者:视学算法 2021-05-27 14:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

图像形态学是图像处理的分支学科,在二值图像处理中占有重要地位、OpenCV中实现了图像形态学如下常见操作:

-膨胀操作

-腐蚀操作

-开操作

-闭操作

-击中击不中操作

-黑帽操作

-顶帽操作

-梯度操作

在开始相关API与代码演示之前,首先要加载图片然后把图像从彩色图像转换为二值图像,实现代码如下:

144ab1d0-be50-11eb-9e57-12bb97331649.png

结构元素

图像形态学操作,必须有结构元素才可以,不同形状的结构元素对同样的图像进行相同的操作可以得到不同的输出结果,所以在形态学操作中结构元素的选择至关重要。OpenCV中获取结构元素的相关代码如下:

1454132e-be50-11eb-9e57-12bb97331649.png

腐蚀操作

腐蚀操作是将结构元素覆盖下的中心像素点的值用最小值替换,得到结果即为腐蚀操作输出图像,通过OpenCV API调用实现腐蚀操作的代码如下

145ef15e-be50-11eb-9e57-12bb97331649.png

膨胀操作

膨胀操作是将结构元素覆盖下的中心像素点的值用最大值替换,得到结果即为膨胀操作输出图像,通过OpenCV API调用实现膨胀操作的代码如下

147c67de-be50-11eb-9e57-12bb97331649.png

开操作

开操作是首先对图像进行腐蚀操作,然后在对图像进行膨胀操作,开操作可以断开两个对象的连接性。实现对象分离。开操作的代码实现如下:

1490d444-be50-11eb-9e57-12bb97331649.png

闭操作

闭操作使用结构元素对图像先膨胀后腐蚀,正好跟开操作的顺序相反,但是闭操作绝对不是开操作的反操作结果。闭操作可以消除图像中背景小点。OpenCV中开操作代码演示如下:

14af24c6-be50-11eb-9e57-12bb97331649.png

击中击不中操作(Hit and Miss)

根据结构元素的选择被击中的区域将会被保留、而没有被击中的区域则被去掉OpenCV中代码演示如下:

14c81756-be50-11eb-9e57-12bb97331649.png

黑帽操作

黑帽操作的结果是图像闭操作与源图像之间的不同,OpenCV中实现图像黑帽操作的代码如下:

14e8c082-be50-11eb-9e57-12bb97331649.png

顶帽操作

顶帽操作是源图像与开操作结果之间的差异,顶帽操作可以显示出图像中区域之间微小不同之处。OpenCV顶帽操作的代码演示如下:

14fe2eea-be50-11eb-9e57-12bb97331649.png

梯度操作

形态学的梯度操作是图像膨胀与腐蚀结果之间的不同,常见的梯度操作是基本梯度-是膨胀与腐蚀结果之间不同。OpenCV的代码演示如下:

1512385e-be50-11eb-9e57-12bb97331649.png

函数说明

morphologyEx- 形态学操作函数

-第一个参数表示输入图像,通道数目任意,位数可以是8、16、32

-第二个参数表示输出图像,通道数与位数与输入图像一致

-第三个参数表示是那种形态学操作

-第四个参数表示结构元素是什么

上述举例都是基于矩形结构元素5x5窗口大小,此外文章中还定义另外两种结构元素,感兴趣的读者可以自己尝试。

原文标题:OpenCV中图像形态学操作

文章出处:【微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像
    +关注

    关注

    2

    文章

    1095

    浏览量

    42157
  • OpenCV
    +关注

    关注

    33

    文章

    651

    浏览量

    44412

原文标题:OpenCV中图像形态学操作

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【「AI芯片:科技探索与AGI愿景」阅读体验】+神经形态计算、类脑芯片

    AI芯片不仅包括深度细AI加速器,还有另外一个主要列别:类脑芯片。类脑芯片是模拟人脑神经网络架构的芯片。它结合微电子技术和新型神经形态器件,模仿人脑神经系统机选原理进行设计,实现类似人脑的超低
    发表于 09-17 16:43

    如何使用树莓派与OpenCV实现面部和运动追踪的云台系统?

    大家好,这是一个树莓派和OpenCV的连载专题。使用树莓派与OpenCV实现姿态估计和面部特征点追踪使用树莓派与OpenCV实现面部和运动追
    的头像 发表于 08-14 17:45 957次阅读
    如何使用树莓派与<b class='flag-5'>OpenCV</b><b class='flag-5'>实现</b>面部和运动追踪的云台系统?

    如何使用树莓派+OpenCV实现姿态估计和面部特征点追踪?

    大家好,这是一个树莓派和OpenCV的连载专题。使用树莓派与OpenCV实现姿态估计和面部特征点追踪使用树莓派与OpenCV实现面部和运动追
    的头像 发表于 08-13 17:44 974次阅读
    如何使用树莓派+<b class='flag-5'>OpenCV</b><b class='flag-5'>实现</b>姿态估计和面部特征点追踪?

    【GM-3568JHF开发板免费体验】OpenCV开发环境安装和计数程序开发

    、 Android 等系统上运行,并通过Python接口简化操作。 sudo apt install libopencv-dev python3-opencv 四、OpenCV图像
    发表于 08-09 13:30

    itop-3568开发板机器视觉opencv开发手册-图像绘制-画线

    demo11_line.py 然后向该文件添加以下内容: 第 1 行和第 2 行分别导入了 opencv 和 numpy 库; 第 3 行使用 zeros()函数创建一个 512x512 的黑色图片; 第 4 行使
    发表于 06-04 10:38

    高光谱成像相机:基于高光谱成像技术的玉米种子纯度检测研究

    种子纯度是衡量种子质量的核心指标之一,直接影响农作物产量与品质。传统检测方法(如形态学观察、生化分析)存在耗时长、破坏样本、依赖人工等缺陷。近年来,高光谱成像技术因其融合光谱与图像信息的优势,成为
    的头像 发表于 05-29 16:49 445次阅读

    基于LockAI视觉识别模块:C++同时识别轮廓和色块

    ./Test-Finecolorandshape 5.2 结果展示 6. 总结 本程序实现基于 OpenCV 的红色四边形检测功能,具有以下特点: 高效性:通过颜色过滤、形态学
    发表于 05-23 17:18

    基于LockAI视觉识别模块:C++寻找色块

    ,便于设置阈值。 1.2 色块识别的流程 获取图像。 将图像从 BGR 转换为 HSV 颜色空间。 创建二值掩码,筛选出符合颜色范围的像素。 使用形态学操作清除噪声。 查找轮廓并筛选符
    发表于 05-12 14:55

    基于LockAI视觉识别模块:C++图像的基本运算

    图像处理,理解图像的基本操作是掌握计算机视觉技术的关键。本文章将介绍 基于LockAI视觉识别模块下OpenCV
    发表于 05-06 16:56

    基于LockAI视觉识别模块:C++图像的基本运算

    图像处理,理解图像的基本操作是掌握计算机视觉技术的关键。本文章将介绍基于LockAI视觉识别模块下OpenCV
    的头像 发表于 05-06 16:20 529次阅读
    基于LockAI视觉识别模块:C++<b class='flag-5'>图像</b>的基本运算

    基于LockAI视觉识别模块:C++图像采集例程

    OpenCV 实现摄像头模块的视频流读取与图像传输。核心步骤包括: 初始化摄像头并设置分辨率; 打开摄像头并逐帧捕获图像; 使用 Edit 模块进行
    发表于 04-30 10:52

    FPGA上的图像处理算法集成与优化

    、Tophat形态学滤波、RAW8转RGB888、彩色图像均值滤波、Alpha背景叠加、直方图灰度拉伸算法以及自动白平衡算法。每种算法都提供实现方法和相关公式,涵盖了
    的头像 发表于 02-14 13:46 1151次阅读
    FPGA上的<b class='flag-5'>图像</b>处理算法集成与优化

    AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV

    的质量,使得图像更适合人类观察或者为后续的分析做准备。 方法:通常涉及像素级别的操作,比如调整亮度、对比度、颜色校正、滤波(如高斯模糊、中值滤波去噪)、边缘检测、形态学变换(膨胀、腐蚀)等。 计算机视觉
    发表于 12-14 09:31

    AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV

    1简介Opencv(OpenSourceComputerVisionLibrary)是一个基于开源发行的跨平台计算机视觉库,它实现图像处理和计算机视觉方面的很多通用算法,已成为计算机
    的头像 发表于 12-14 09:10 1262次阅读
    AI模型部署边缘设备的奇妙之旅:如何在边缘端部署<b class='flag-5'>OpenCV</b>

    【AI实战项目】基于OpenCV的“颜色识别项目”完整操作过程

    适用于哪些场景,然后通过Python编写代码来实现这些算法,并应用于实际项目中,实现图像的检测、识别、分类、定位、测量等目标。华清远见【python+OpenCV
    的头像 发表于 12-09 16:42 1894次阅读
    【AI实战项目】基于<b class='flag-5'>OpenCV</b>的“颜色识别项目”完整<b class='flag-5'>操作</b>过程