iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >OpenCV图像形态学如何处理
  • 637
分享到

OpenCV图像形态学如何处理

2023-07-05 04:07:45 637人浏览 安东尼
摘要

这篇文章主要讲解了“OpenCV图像形态学如何处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“OpenCV图像形态学如何处理”吧!1.腐蚀操作从下面代码中可以看到有三幅腐蚀程度不同的图,腐

这篇文章主要讲解了“OpenCV图像形态学如何处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“OpenCV图像形态学如何处理”吧!

1.腐蚀操作

从下面代码中可以看到有三幅腐蚀程度不同的图,腐蚀越严重像素就越模糊

import cv2import numpy as npfrom numpy import unicode if __name__ == '__main__':    img1 = cv2.imread("D:/Jupyter_Notebooks/0.jpg")  # 读取彩色图像(BGR)    kernel = np.ones((3, 3), np.uint8)    erosion = cv2.erode(img1, kernel)    cv2.imshow("img1", erosion)  # 显示叠加图像 dst     img2 = cv2.imread("D:/Jupyter_Notebooks/0.jpg")  # 读取彩色图像(BGR)    kernel = np.ones((10, 10), np.uint8)    erosion_1 = cv2.erode(img2, kernel)    cv2.imshow('erosion_1', erosion_1)     img3 = cv2.imread("D:/Jupyter_Notebooks/0.jpg")  # 读取彩色图像(BGR)    kernel = np.ones((30, 30), np.uint8)    erosion_2 = cv2.erode(img3, kernel)    cv2.imshow('erosion_2', erosion_2)     cv2.waiTKEy(0)    cv2.destroyAllwindows()
binary_img = np.array([ [0, 0, 0, 0, 0],                        [0,255,255,255,0],                        [0,255,255,255,0],                        [0,255,255,255,0],                        [0, 0, 0, 0, 0]],np.uint8)ones((3,3),np.uint8) [[  0   0   0   0   0] [  0   0   0   0   0] [  0   0 255   0   0] [  0   0   0   0   0] [  0   0   0   0   0]]

通过上面的例子发现,经过3x3的kernel之后,最终只保留了中心的255像素,周边的255都变成了0。在进行腐蚀操作的时候,就是通过kernel大小的卷积在原图像上滑动,只有当kernel范围内的像素全为255时输出才为255,否则输出为0,所以kernel越大最终白色像素保留的会越少。

2.膨胀操作

图像经过膨胀之后,白色像素的范围变大了。在做膨胀的时候,只要当kernel范围内的像素有255时输出就为255

3.开闭运算

开运算其实就是先通过腐蚀操作后面再进行膨胀,闭运算和开运算恰好相反先通过膨胀操作后面再进行腐蚀

import cv2import numpy as npfrom numpy import unicode if __name__ == '__main__':    img1 = cv2.imread("D:/Jupyter_Notebooks/0.jpg")  # 读取彩色图像(BGR)    # 定义kernel    kernel = np.ones((3, 3), np.uint8)    # 开运算    open_img = cv2.morphologyEx(img1, cv2.MORPH_OPEN, kernel)    # 闭运算    close_img = cv2.morphologyEx(img1, cv2.MORPH_CLOSE, kernel)      cv2.imshow("open_img", open_img)  # 显示叠加图像 dst    cv2.imshow("close_img", close_img)  # 显示叠加图像 dst     cv2.waitKey(0)    cv2.destroyAllWindows()

4.梯度运算

梯度运算等价于膨胀运算-腐蚀运算 梯度运算主要是用来保留图像的轮廓

5.Top Hat Black Hat运算

Top Hat运算等价于原始图像 - 开运算,Black Hat运算等价于闭运算 - 原始图像

形态学Top-Hat变换是指形态学顶帽操作与黑帽操作,前者是计算源图像与开运算结果图之差,后者是计算闭运算结果与源图像之差。

形态学Top-Hat变换是常用的一种滤波手段,具有高通滤波的某部分特性,可实现在图像中检测出周围背景亮结构或周边背景暗结构。

顶帽操作常用于检测图像中的峰结构。

黑帽操作常用于检测图像中的波谷结构。

import cv2import numpy as npfrom numpy import unicode if __name__ == '__main__':    img1 = cv2.imread("D:/Jupyter_Notebooks/0.jpg")  # 读取彩色图像(BGR)    # 定义kernel    kernel = np.ones((3, 3), np.uint8)    tophat_img = cv2.morphologyEx(img1, cv2.MORPH_TOPHAT, kernel)    blackhat_img = cv2.morphologyEx(img1, cv2.MORPH_BLACKHAT, kernel)      cv2.imshow("tophat_img", tophat_img)  # 显示叠加图像 dst    cv2.imshow("blackhat_img", blackhat_img)  # 显示叠加图像 dst     cv2.waitKey(0)    cv2.destroyAllWindows()

感谢各位的阅读,以上就是“OpenCV图像形态学如何处理”的内容了,经过本文的学习后,相信大家对OpenCV图像形态学如何处理这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: OpenCV图像形态学如何处理

本文链接: https://www.lsjlt.com/news/349262.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • OpenCV图像形态学如何处理
    这篇文章主要讲解了“OpenCV图像形态学如何处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“OpenCV图像形态学如何处理”吧!1.腐蚀操作从下面代码中可以看到有三幅腐蚀程度不同的图,腐...
    99+
    2023-07-05
  • OpenCV数字图像处理基于C++之图像形态学处理详解
    目录1、图像腐蚀1.1 CV腐蚀函数1.2 自定义腐蚀函数1.3 对比2、图像膨胀2.1 CV膨胀函数2.2 自定义膨胀函数2.3 对比3、开运算3.1 方法一3.2 方法二4、闭运...
    99+
    2022-12-08
    数字图像处理 opencv 基于opencv的图像处理 opencv c++入门
  • matlab如何实现形态学图像处理
    这篇文章主要介绍“matlab如何实现形态学图像处理”,在日常操作中,相信很多人在matlab如何实现形态学图像处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”matlab如何实现形态学图像处理”的疑惑有所...
    99+
    2023-07-05
  • PythonOpenCV学习之图像形态学
    目录背景一、图像二值化二、自适应阈值三、腐蚀四、卷积核获取五、膨胀六、开运算七、闭运算八、形态学梯度九、顶帽运算十、黑帽运算总结背景 形态学处理方法是基于对二进制图像进行处理的,卷积...
    99+
    2024-04-02
  • 一文详解matlab实现形态学图像处理
    目录目的内容膨胀的简单应用函数imopen 和imclose 的应用灰度图像形态学开运算和闭运算灰度图像形态学使用重构删除复杂图像的背景目的 文章和代码以及样例图片等相关资源,已经...
    99+
    2023-03-08
    matlab形态学图像处理 matlab图像处理
  • python OpenCV图像直方图如何处理
    这篇“python OpenCV图像直方图如何处理”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python&nb...
    99+
    2023-07-02
  • python数字图像处理之基本形态学滤波
    目录引言1、膨胀(dilation)2、腐蚀(erosion)3、开运算(opening)4、闭运算(closing)5、白帽(white-tophat)6、黑帽(black-top...
    99+
    2024-04-02
  • Opencv图像处理中如何使用mask
    这篇文章将为大家详细讲解有关Opencv图像处理中如何使用mask,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。图像基本运算图像的基本运算有很多种,比如两幅图像可以相加、相减、相乘、相除、位运算、平方根、...
    99+
    2023-06-14
  • OpenCV图像处理入门
    😊😊😊欢迎来到本博客😊😊😊 本次博客内容将继续讲解关于OpenCV的相关知识 🎉作者...
    99+
    2023-09-01
    opencv 图像处理 计算机视觉 人工智能 python
  • python OpenCV图像直方图处理
    目录1.图像直方图基本含义和绘制2.OpenCV统计直方图并绘制3.使用掩码的直方图-直方图、掩膜4.直方图均衡化原理及函数5.子图的绘制6.直方图均衡化对比1.图像直方图基本含义和...
    99+
    2024-04-02
  • OpenCV图像处理之图像拼接详解
    目录图像拼接技术一、需求分析二、具体步骤三、代码实现图像拼接技术 一、需求分析 将下面两张图像进行拼接 拼接得到一张完整的图像 二、具体步骤 1.选择特征点 //1、选...
    99+
    2022-11-13
    OpenCV 图像处理 图像拼接 OpenCV 图像拼接 OpenCV 图像处理
  • Python常用图像形态学操作详解
    目录腐蚀膨胀开运算与闭运算开运算闭运算梯度运算礼帽与黑帽礼帽黑帽腐蚀 在一些图像中,会有一些异常的部分,比如这样的毛刺: 对于这样的情况,我们就可以应用复式操作了。需要注意的是,腐...
    99+
    2024-04-02
  • opencv形态学中的孔洞填充详细图解
    目录1. 原理2. 漫水填充算法1. 原理 孔洞指的是被前景像素点或者说感兴趣的像素点包围起来的区域,这个区域是我们不感兴趣的背景区域。 数字图像处理的孔洞填充的公式为: I 为前...
    99+
    2024-04-02
  • OpenCV图像处理之七种常用图像几何变换
    目录0 程序环境与所学函数1 裁剪、放大、缩小2 平移变换3 错切变换4 镜像变换5 旋转变换6 透视变换7 最近邻插值、双线性插值0 程序环境与所学函数 本章程序运行需要导入下面三...
    99+
    2024-04-02
  • 详解Python图像形态学处理(开运算,闭运算,梯度运算)
    目录一.图像开运算二.图像闭运算三.图像梯度运算四.总结这篇文章将继续介绍开运算、闭运算和梯度运算。数学形态学(Mathematical Morphology)是一种应用于图像处理和...
    99+
    2024-04-02
  • Python+OpenCV如何实现在图像上绘制矩形
    小编给大家分享一下Python+OpenCV如何实现在图像上绘制矩形,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码import copyimport cv2import numpy&nbs...
    99+
    2023-06-29
  • C#如何使用OpenCV剪切图像中的圆形和矩形
    这篇文章主要介绍“C#如何使用OpenCV剪切图像中的圆形和矩形”,在日常操作中,相信很多人在C#如何使用OpenCV剪切图像中的圆形和矩形问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#如何使用OpenC...
    99+
    2023-06-07
  • 如何进行Python OpenCV图像模糊处理分析
    这篇文章跟大家分析一下“如何进行Python OpenCV图像模糊处理分析”。内容详细易懂,对“如何进行Python OpenCV图像模糊处理分析”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有...
    99+
    2023-06-26
  • OpenCV图像识别之姿态估计Pose Estimation学习
    目录目标基础绘制立方体目标 在本章中,将学习 利用calib3d模块在图像中创建一些3D效果 基础 在上一节相机校准中,了解了相机矩阵、失真系数等。给定图案图像,可以利用以上信息来计...
    99+
    2023-05-19
    OpenCV图像识别姿态估计 OpenCV Pose Estimation
  • 图形图像处理之简单图片
    决定Android应用是否被用户接受的一个重要的原因就是用户界面,友好的用户界面就需要使用到图形图像处理技术,包括静态图片、动画和游戏都需要大量的图形图像处理,所谓游戏,其实就是提供更逼真,能模拟某种环境的用户界面,并根据某种规则响应用户的...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作