python-opencv第七期:开运算与闭运算详解(上)

这篇具有很好参考价值的文章主要介绍了python-opencv第七期:开运算与闭运算详解(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

概要:

正文部分:

概念介绍: 

何谓“开”与“闭”:

如何实现开运算与闭运算:

应用场景:

结语:


概要:

嗦粥汁所周知,在如今计算机视觉(Computer Version short for CV)是人工智能与机器人技术发展的一个重大研究方向,而opencv作为一个专门为机计算机视觉编程提供技术与函数支持的第三方库,自然是一个需要重点研究的内容。

本期首先要谈谈什么是图像的开运算与闭运算以及开运算与闭运算都能用在什么地方。

话不多说,我是Kamen Black ,让我们开始今天的学习!

正文部分:

opencv 开闭运算,opencv,计算机视觉,人工智能,计算机视觉,opencv,人工智能

print("祝大家每天快乐,love and peace!")

概念介绍: 

— —初 窥 门 道

何谓“开”与“闭”:

在最开始,大家首先要对开运算与闭运算有个基础的概念理解。

其实开运算与闭运算,大家可以对应数学当中的开集和闭集— —开即意味着未连通,闭则意味着已连通,就好像门的开闭一样。

开门,意味着门的两个门板没有连通,对于外界是敞开的,对应“开”;

而闭门,意味着门的两个门板连通到了一起,对于外界是关闭的状态,对应“闭”。

opencv 开闭运算,opencv,计算机视觉,人工智能,计算机视觉,opencv,人工智能
门“开”与门“闭”

在数学当中,开集即意味着集合中的内容与边界的内容不连通,对于全集是开放的,闭集即意味着集合中的内容与边界的内容是连通着的,对于全集是闭合的;

在图像处理当中,开运算即意味着图像中的内容之间是不连通的,对于整幅图像是开放的状态,闭运算即意味着图像中的内容之间相互连通了,对于整幅图像是闭合的状态。

如何实现开运算与闭运算:

而我们知道,在数轴上的开集与闭集是通过小括号与中括号(小括号表示“开”,中括号表示“闭”)来表示的,而开运算与闭运算也是通过两个操作来实现的— —膨胀(dilate)腐蚀(erode)

为了形象地理解如何通过膨胀与腐蚀来完成图像内容的开运算与闭运算,我们首先来举一个简单的例子。

假设某个地区有两片相邻的湖泊,在它们之间有一条连接它们俩的天然河渠,河渠的宽度和湖泊的宽度相比要小很多,但是长度较大。

现在出现了两种可能的情况(都比较极端):

一种是— —

首先,这个地区经历了一场百年一遇的干旱,两个湖泊的面积都大幅缩减,只剩下各自中心点周围的一片区域,那条较窄的河渠更不用说,早就全部变成了水蒸气,两个湖泊间的连接自然;

然后,这个地区又经历了一场千年难遇的大雨,两个湖泊又渐渐恢复到了之前的规模,但是连接它们的那条河渠却就此消失了。最后的结果就是剩下了两片湖泊,互相不连通。

opencv 开闭运算,opencv,计算机视觉,人工智能,计算机视觉,opencv,人工智能
湖泊开运算的演示

另一种是— —

首先,这个地区经历了一场千年难遇的大雨,两个湖泊的面积都得到极大的扩张,以至于两个湖泊都大范围地连接到了一起,进而形成了一个湖泊,那条河渠自然也成为了湖泊的一部分;

然后,这个地区又经历了一场百年一遇的干旱,湖泊的面积又不可避免地变小,变成了之前两片湖泊之和的大小,但最后仍然还是保持着一个湖泊的形状。最后的结果就是剩下了一片大的湖泊,相当于之前的两片湖泊相互连通了。

opencv 开闭运算,opencv,计算机视觉,人工智能,计算机视觉,opencv,人工智能
湖泊闭运算的演示

在上面的例子当中,降雨就相当于膨胀操作干旱就相当于腐蚀操作

1、开运算的基本流程就是— —先腐蚀,再膨胀。就像两个湖泊先缩小,再扩大,最后形成两个独立不连通的湖泊一样,

图像中的内容先经过腐蚀操作,原本较细与较小的内容都会消失,只有较大的内容会呈现围绕中心点的范围减小,而不会消失;

再经过膨胀操作,留下来的内容会围绕中心点呈现范围增大的情况;

最后的结果就是,原本较细与较小的内容会被消除,而较大的内容会被保留下来

2、闭运算的基本流程就是— —先膨胀,再腐蚀。就像两个湖泊先扩大,再缩小,最后形成一个兼并的湖泊一样,

图像中的内容先经过膨胀操作,不仅原本较大的内容的面积会增大,较细与较小的内容也会增大,图像中所有的内容都会被扩大;

再经过腐蚀操作,图像中的内容都会出现缩小的情况,但是在上一步膨胀操作过程中连通的内容不会轻易地消失,而是会被保留下来;

最后的结果就是,原图像中的大多数内容都会被保留下来,而且更容易形成一个统一的整体

应用场景:

— —小 试 牛 刀

开运算和闭运算是二值图像处理中常用的两种形态学操作,都能保留图像中的大物体与边缘信息。它们可以通过对图像进行一系列的形态学变换,来改变图像的形状、大小、结构等特征,从而达到对图像进行分割、去噪、增强等目的。

分开来说:

开运算的主要作用是去除图像中的小孔洞和细小的物体。开运算可以用于图像去噪、分割、边缘检测等方面。

例如,在医学图像处理中,可以使用开运算来去除图像中的小斑点和噪声,从而更好地显示出医学图像中的重要信息。

闭运算的主要作用是填补图像中的小孔洞和连接细小的物体,达到平滑图像边缘的作用。闭运算可以用于图像增强、分割、形态学重建等方面。

例如,在数字图像处理中,可以使用闭运算来填补数字图像中的小孔洞和连接数字,从而更好地显示出数字图像中的数字信息。

综合两者:

我们可以做到以下几点:

  1. 去除图像中的噪声:在图像处理中,常常会出现一些噪声点,这些噪声点会影响图像的质量和准确性。使用开运算可以去除这些噪声点,使得图像更加清晰和准确。

  2. 分离图像中的物体:在计算机视觉和模式识别中,常常需要对图像中的物体进行分离和识别。使用开运算可以去除图像中的小物体和细节,使得图像中的大物体更加突出和明显。

  3. 平滑图像边缘:在图像处理中,常常需要对图像进行平滑处理,使得图像更加自然和美观。使用闭运算可以平滑图像边缘,使得图像更加平滑和自然。

  4. 填补图像中的空洞和断裂:在图像处理中,常常会出现一些空洞和断裂,这些空洞和断裂会影响图像的质量和准确性。使用闭运算可以填补这些空洞和断裂,使得图像更加完整和准确。

结语:

在今天的文章当中,我们学习了什么是图像的开运算与闭运算,以及它们的应用场景。相信大家一定对开运算与闭运算有了一定的了解与想法,但是受限于篇幅,

目前我们也只能先简单带大家了解一下开运算与闭运算的概念与用处,而在下一期的文章当中,我将向大家介绍怎么使用python-opencv中的函数实现开运算与闭运算,以及进行我们“惯常”的实例操作,请大家拭目以待。

好了以上就是所有的内容,希望大家多多关注点赞收藏,这对我有很大的帮助。谢谢大家了!

opencv 开闭运算,opencv,计算机视觉,人工智能,计算机视觉,opencv,人工智能

 好了,这里是Kamen Black 。祝国康家安,大家下次再见喽!!!溜溜球~~

opencv 开闭运算,opencv,计算机视觉,人工智能,计算机视觉,opencv,人工智能文章来源地址https://www.toymoban.com/news/detail-759571.html

到了这里,关于python-opencv第七期:开运算与闭运算详解(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python-opencv第五期:rectangle函数详解

    概要: 众 嗦粥汁 所周知,在如今计算机视觉( Computer Version  short for CV)是人工智能与机器人技术发展的一个重大研究方向,而 opencv 作为一个专门为计算机视觉编程提供技术与函数支持的第三方库,自然是一个需要重点研究的内容。             本期所要介绍的函数是o

    2024年02月05日
    浏览(39)
  • python-opencv第一期:imread函数详解

    概要:众 嗦粥之 所周知,在如今计算机视觉( Computer Version short for CV)是人工智能与机器人技术发展的一个重大研究方向,而 opencv 作为一个专门为计算机视觉编程提供技术与函数支持的第三方库,自然是一个需要重点研究的内容。本篇博客将介绍python-opencv库中较为简单的

    2024年02月09日
    浏览(35)
  • python-opencv第四期:threshold函数详解

    概要: 众 嗦粥汁 所周知,在如今计算机视觉( Computer Version  short for CV)是人工智能与机器人技术发展的一个重大研究方向,而 opencv 作为一个专门为计算机视觉编程提供技术与函数支持的第三方库,自然是一个需要重点研究的内容。             本期所要介绍的函数是o

    2024年02月05日
    浏览(36)
  • python-opencv之形态学操作(腐蚀和膨胀)原理详解

    Removing noise. Isolation of individual elements and joining disparate elements in an image. Finding of intensity bumps or holes in an image. 最基本的形态操作是侵蚀和扩张。让我们更详细地了解这些操作。 原理 它会侵蚀前景物体的边界,并从图像中移除小规模的细节,但同时会减少感兴趣区域的大小。

    2024年02月05日
    浏览(51)
  • 蓝桥杯上岸每日N题 第七期(小猫爬山)!!!

    要尽可能减少花费--递归的分支尽可能少--优先考虑放重猫 优先考虑放重猫 ,需要从 大到小排个序 , 一直往下搜索,答案是唯一的。 放得下猫就 继续往该车往下加 放不下就再 另外开一辆放猫 分两个分支去放 开一辆继续放其他猫的为一个分支 开另一辆单独只放一只猫的为

    2024年02月14日
    浏览(68)
  • python-opencv

    python_opencv安装使用笔记 链接: OpenCV——基于Python开发的OpenCV安装教程 链接: Python使用pip安装库时WARNING: You are using pip version 21.3.1; however, version 22.3.1 is available.的解决办法 链接: Opencv中的图像相加,相减,相除,相乘(python实现) 链接: opencv-python识别魔方特定颜色方块,并输

    2024年02月01日
    浏览(44)
  • python-opencv划痕检测

    这次实验,我们将对如下图片进行划痕检测,其实这个比较有难度,因为清晰度太差了。 我们做法如下: (1)读取图像为灰度图像,进行自适应直方图均衡化处理,增强图片对比度 (2)然后进行三次图像去噪 - 高斯滤波 (3)然后我们再进行一次直方图均衡操作增强图片

    2024年02月03日
    浏览(43)
  • 【python-opencv】硬币检测

    使用 python3.8.x,opencv 使用图像处理技术,从照片中识别硬币的个数,并判断总价值。 使用颜色特征,识别出5角硬币 使用半径大小,判断出1角和1元硬币。 具体操作 将图片转换为HSV颜色模型 部分代码 提取轮廓信息 cv2.findContours() 拟合椭圆,提取ROI cv2.fitEllipse() 模板匹配 cv

    2024年02月02日
    浏览(40)
  • JavaScript 手写代码 第七期(重写数组方法三) 用于遍历的方法

    我们在日常开发过程中,往往都是取出来直接用,从来不思考代码的底层实现逻辑,但当我开始研究一些底层的东西的时候,才开始理解了JavaScript每个方法和函数的底层实现思路,我认为这可以很好的提高我们的代码水平和逻辑思维。 2.1.1 基本使用 forEach() 方法用于调用数组

    2024年02月12日
    浏览(49)
  • 面试 React 框架八股文十问十答第七期

    作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)React 废弃了哪些生命周期?为什么? 在React 16.3版本后,React废弃了一些生命周期方法,这是为了简化API、提高可维护性以及引入更

    2024年01月18日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包