欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    (OpenCV+Python)图像腐蚀膨胀 开闭运算 线性滤波 非线性滤波.docx

    • 资源ID:747368       资源大小:467.68KB        全文页数:22页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (OpenCV+Python)图像腐蚀膨胀 开闭运算 线性滤波 非线性滤波.docx

    图像腐蚀与膨胀我们在前两次教程中概述了OPenCV对于图像的滤波,通常对于一个实战项目而言,滤波之后的下一步操作就是图像的形态学处理了,从本次教程开始,我们正式步入了OPenCV图像形态学处理的部分。形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。而我们图像处理中指的形态学,往往表示的是数学形态学。下面一起来了解数学形态学的概念。数学形态学是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:二值腐蚀和膨胀、二值开闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、ToP-hat变换、颗粒分析、流域变换、灰值腐蚀和膨胀、灰值开闭运算、灰值形态学梯度等。简单来讲,形态学操作就是基于形状的一系列图像处理操作。OPenCV为进行图像的形态学变换提供了快捷、方便的函数。最基本的形态学操作有二种,他们是:膨胀与腐蚀(DiIatiOn与Erosion)o膨胀与腐蚀能实现多种多样的功能,主要如下消除噪声。分割出独立的图像元素,在图像中连接相邻的元素。寻找图像中的明显的极大值区域或极小值区域。求出图像的梯度。腐蚀和膨胀是对白色部分(高亮部分)而言的,不是黑色部分。膨胀就是图像中的高亮部分进行膨胀,“领域扩张”,效果图拥有比原图更大的高亮区域。腐蚀就是原图中的高亮部分被腐蚀,“领域被蚕食”,效果图拥有比原图更小的高亮区域。膨胀其实,膨胀就是求局部最大值的操作。按数学方面来说,膨胀或者腐蚀操作就是将图像(或图像的一部分区域,我们称之为A)与核(我们称之为B)进行卷积。核可以是任何的形状和大小,它拥有一个单独定义出来的参考点,我们称其为锚点。多数情况下,核是一个小的中间带有参考点和实心正方形或者圆盘,其实,我们可以把核视为模板或者掩码。而膨胀就是求局部最大值的操作,核B与图形卷积,即计算核B覆盖的区域的像素点的最大值,并把这个最大值赋值给参考点指定的像素。这样就会使图像中的高亮区域逐渐增长。如下图所示,这就是膨胀操作:我们来看一下函数原型:cv2.dilate(img,kernel,iterations)->dst第一个参数:img指需要膨胀的图。第二个参数:kernel指膨胀操作的内核,默认是一个简单的3X3矩阵,我们也可以利用getStructuringElement()函数指明它的形状。第三个参数:iterations指的是膨胀次数,省略是默认为1。dst则为返回的图像。定义卷积核需要用到Numpy中的函数,它可以定义一个矩形的卷积核结构元素,我们来看一下代码:importcv2importnumpyasnpimg=cv2.imread('01.jpg,O)kernel=np.ones(5,5),np.uint8)dict=cv2.dilate(img,kernel,iterations=I)cv2.imshow("org,img)cv2.imshow(',result,dict)cv2.waitKey(0)cv2.destroyA11Windows()我们定义了一个5*5的矩形卷积核,效果:事实上,在某些情况下,我们可能需要椭圆形/圆形的内核。因此,为此,C)PenCV具有一个函数CkgetStructuringElement()。我们只需传递内核的形状和大小,即可获得所需的内核,函数原型:retval=cv.getStructuringElement(shape,ksize,anchor)这个函数的第一个参数表示内核的形状,有三种形状可以选择。矩形:MORPH_RECT交叉形:MORPH_CROSS椭圆形:MORPH_ELLIPSE1111111111111111111111111OOlO0111111111111111001000010000100ii0010000100理形结构结构十字形结构第二和第三个参数分别是内核的尺寸以及锚点的位置。一般在调用erode以及dilate函数之前,先定义一个变量来获得。getStructuringElement函数的返回值:对于锚点的位置,有默认值Point(-1,-1),表示锚点位于中心点。element形状唯一依赖锚点位置,其他情况下,锚点只是影响了形态学运算结果的偏移。我们看一下代码:importcv2importnumpyasnpimg=cv2.imread(,01.jpg',O)kernel=cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5)dict=cv2.dilate(img,kernel,iterations=I)cv2.imshow(org",img)cv2.imshow("result,dict)cv2.waitKey(0)cv2.destroyAllWindows()至于卷积核的形状我在这里选择了椭圆形,大家可以自己选择其他形状进行实验:Jorg-×Iresult-X1.沁X/JhlX腐蚀再来看一下腐蚀,膨胀和腐蚀是一对好友,是相反的一对操作,所以腐蚀就是求局部最小值的操作。我们一般都会把腐蚀和膨胀对应起来理解和学习。下文就可以看到,两者的函数原型也是基本上一样的。我们来看一下函数原型:cv2.erode(img,kernel,iterations)->dst第一个参数:img指需要腐蚀的图。第二个参数:kernel指腐蚀操作的内核,默认是一个简单的3X3矩阵,我们也可以利用getStructuringElement()函数指明它的形状。第三个参数:iterations指的是腐蚀次数,省略是默认为1。代码:importcv2importnumpyasnpimg=cv2.imread('01.jpg',O)kernel=cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5)erode=cv2.erode(img,kernel,iterations=1)cv2.imshow("org",img)cv2.imshow("result",erode)cv2.waitKey(0)cv2.destroyAHWindows()效果:腐蚀与膨胀是形态学处理中的基础操作,它们有着很重要的作用,也是后面开操作与闭操作的基础,所以必须熟练运用。开运算与闭运算图像的腐蚀与膨胀是本次教程的核心一一开运算与闭运算的基础,如果结构元素为圆形,则膨胀操作可填充图像中比结构元素小的孔洞以及图像边缘处小的凹陷部分。而腐蚀可以消除图像中的毛刺及细小连接成分,并将图像缩小,从而使其补集扩大。但是,膨胀和腐蚀并非互为逆运算,所以它们可以结合使用。在腐蚀和膨胀两个基本运算的基础上,可以构造出形态学运算簇,它由膨胀和腐蚀两个运算的复合与集合操作(并、交、补等)组合成的所有运算构成。例如,可使用同一结构元素,先对图像进行腐蚀然后膨胀其结果,该运算称为开运算;或先对图像进行膨胀然后腐蚀其结果,称其为闭运算。开运算和闭运算是形态学运算族中两种最为重要的运算。对于图像X及结构元素s,用符号X。S表示S对图像X作开运算,用符号XS表示S对图像X作闭运算,它们的定义为:XQS=(XS)SX-S=(XS)S首先需要来了解一个函数:cv2.morphologyEx(src,op,kernel)SrC传入的图片。OP进行变化的方式。kernel表示定义的卷积核的大小以及形状。op=cv2.M0RPH_0PEN进行开运算,指的是先进行腐蚀操作,再进行膨胀操作。op=cv2.MORPH_CLOSE进行闭运算,指的是先进行膨胀操作,再进行腐蚀操作。开运算开运算指的就是对图像先进行腐蚀操作,然后再进行膨胀操作,而通常情况下,它是对图像的明亮的区域进行操作,可以消除图像中的白噪声,现在我们来看例子,先看一幅图像:现在我们想要消除图像中的黑色的毛刺,但是如果直接对图像进行开运算是不行的,因为开运算是对图像的明亮区域进行操作,看一下直接进行开运算会有什么效果:importcv2importnumpyasnpimg=cv2.imread('open.jpg,0)kernel=cv2.getStructuringElement(cv2.MORPH_RECT,(3,3)open=cv2.morphologyEx(img,cv2.MORPH_OPEN,kemel)cv2.imshow("img",img)cv2.imshow(',result",open)cv2.waitKey(0)cv2.destroyAHWindows()可以看到,图像的毛刺没有被去除,现在我们需要将原图进行阈值化翻转,也就是黑白颠倒,这样才方便进行形态学的处理,我们在前面阈值部分讲过,这里就不再讲述了,直接看代码:importcv2importnumpyasnpimg=cv2.imread('open.jpg,0)threshold=cv2.threshold(img,0,255,cv2.THRESH_BINARYNVlCV2.THRESH_OTSU)川cv2.imshow(nimg,img)cv2.imshow(thresu,threshold)cv2.waitKey(0)cv2.destroyAHWindows()现在图像已经被黑白颠倒了过来,现在我们可以开始进行开运算了,当然首先也是需要定义一个卷积核的,这在上个教程中已经谈到,在这里我们定义一个3*3的矩形卷积核:importcv2importnumpyasnpimg=cv2.imread('open.jpg',0)threshold=cv2.threshold(img,0,255,cv2.THRESH_BINARYNVlCV2.THRESH_0TSU)11kernel=cv2.getStructuringElement(cv2.MORPH_RECT,(3,3)open=cv2.morphologyEx(threshold,cv2.MORPH-OPEN,kernel)cv2.imshow(',img,img)cv2.imshow(thres,',threshold)cv2.imshow(resultu,open)cv2.waitKey(0)cv2.destroyA11Windows()这样效果就显而易见了,如果我们将卷积核改成5*5的呢:importcv2importnumpyasnpimg=cv2.imread('open.jpg',0)threshold=cv2.threshold(img,0,255,cv2.THRESH_BINARYNVlCV2.THRESH_OTSU)1kernel=cv2.getStructuringElement(cv2.MORPH_RECT,(5,5)open=cv2.morphologyEx(threshold,cv2.MORPH-OPEN,kernel)cv2.imshow(thres,threshold)cv2.imshow(,'result,open)cv2.waitKey(0)cv2.destroyA11Windows()这就说明操作过度了,所以对于形态学处理卷积核的适当选取是非常重要的,现在我们对处理之后的图像进行还原:importcv2importnumpyasnpimg=cv2.

    注意事项

    本文((OpenCV+Python)图像腐蚀膨胀 开闭运算 线性滤波 非线性滤波.docx)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!

    收起
    展开