当前位置: 首页 > news >正文

设计网站首页要几天100种找客户的方法

设计网站首页要几天,100种找客户的方法,八里河网站建设项目建设可行性,如何做旅游网站的旅行家简介: 本文详细介绍了图像形态学中的多种运算,包括腐蚀、膨胀、开运算、闭运算、形态学梯度运算、礼帽运算以及黑帽运算。分别阐述了各运算的原理、语法格式,并通过 Python 代码结合具体示例图片(如erode.JPG、dilate.JPG、close.…

在这里插入图片描述

简介: 本文详细介绍了图像形态学中的多种运算,包括腐蚀、膨胀、开运算、闭运算、形态学梯度运算、礼帽运算以及黑帽运算。分别阐述了各运算的原理、语法格式,并通过 Python 代码结合具体示例图片(如erode.JPG、dilate.JPG、close.JPG等)展示了各运算的实际效果及对图像产生的改变,帮助读者理解这些图像形态学运算在图像处理中的应用。
如果您觉得我的文章对您有帮助,请您点赞收藏关注,我会持续为您带来更多跟OpenCV相关的文章。

《图像形态学运算全解析:原理、语法及示例展示》

  • 1 腐蚀
  • 2 膨胀
  • 3 开运算
  • 4 闭运算
  • 5 形态学梯度运算
  • 6 礼帽运算
  • 黑帽运算
  • 致谢

1 腐蚀

腐蚀的原理如下:
在这里插入图片描述
在这里插入图片描述
语法如下:
dst = cv2.erode(原始图像src,黑色方块的大小kernel,anchor锚点 ,iterations迭代次数默认为1,borderType边界样式一般不修改)
用下面这张图做例子,这张图片在我的jupyter notebook文件夹下起名erode.JPG,这是我的文件夹结构,用pycharm一样和代码放在同一个文件夹下就好:
在这里插入图片描述
在这里插入图片描述

import numpy as np
import cv2
image = cv2.imread("erode.JPG")
kernel = np.ones((5,5),dtype = np.uint8)
erode_image = cv2.erode(src = image , kernel = kernel )
cv2.imshow("original",image)
cv2.imshow("erode",erode_image)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述
根据腐蚀的原理,当黑色方框(kernel)经过画红线的白色部分时,前景色是黑色,背景色是白色。所以被腐蚀成黑色。通过腐蚀实现了去噪

2 膨胀

膨胀的原理与腐蚀相反:
在这里插入图片描述
语法如下:
dst = cv2.dilate(原始图像src,扫描元kernel,iterations迭代次数)
我们用下面这张图做例子,他在我的文件夹下命名为dilate.JPG
在这里插入图片描述
在这里插入图片描述

import numpy as np
import cv2
image = cv2.imread("dilate.JPG")
kernel = np.ones((5,5),dtype = np.uint8)
di_image = cv2.dilate(src = image,kernel = kernel ,iterations = 8)
cv2.imshow("original",image)
cv2.imshow("di",di_image)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述
这张图经过8次膨胀,从左边变到了右边,很多背景色被膨胀成前景色,导致了Z字母的增大。

3 开运算

是先腐蚀后膨胀,腐蚀可以去掉一些噪声(多余的边角料),但是会导致形状缩小,膨胀又把形状变大。
语法:
dst = cv2.morphologyEx(原始图像src,op = cv2.MORPH_OPEN,黑色方块的大小kernel,anchor锚点 ,iterations迭代次数默认为1,borderType边界样式一般不修改)
使用erode.JPG这个例子来展示一下效果

import numpy as np
import cv2
image = cv2.imread("erode.JPG")
kernel = np.ones((5,5),dtype = np.uint8)
erode_image = cv2.erode(src = image , kernel = kernel ,iterations = 4)
di_image = cv2.dilate(src = erode_image , kernel = kernel ,iterations = 4)
open_image = cv2.morphologyEx(src = image ,kernel = kernel ,iterations = 4 , op = cv2.MORPH_OPEN)
cv2.imshow("original",image)
cv2.imshow("erode",erode_image)
cv2.imshow("di",di_image)
cv2.imshow("open",open_image)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

4 闭运算

他和开运算相反,是先膨胀后腐蚀,他的作用是关闭前景图像中的小孔,比如下面这张图:
在这里插入图片描述
我把他命名为close.JPG存放在我的文件夹中:
在这里插入图片描述

import numpy as np
import cv2
image = cv2.imread("close.JPG")
kernel = np.ones((5,5),dtype = np.uint8)
di_image = cv2.dilate(src = image , kernel = kernel ,iterations = 4)
erode_image = cv2.erode(src = di_image , kernel = kernel ,iterations = 4)
close_image = cv2.morphologyEx(src = image ,kernel = kernel ,iterations = 4 , op = cv2.MORPH_CLOSE)
cv2.imshow("original",image)
cv2.imshow("erode",erode_image)
cv2.imshow("di",di_image)
cv2.imshow("close",close_image)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

5 形态学梯度运算

他是膨胀-腐蚀,语法是把cv2.morphologyEx的op参数改为cv2.MORPH_GRANDIENT
还用close.JPG作为例子展示一下效果:

import numpy as np
import cv2
image = cv2.imread("close.JPG")
kernel = np.ones((7,7),dtype = np.uint8)
di_image = cv2.dilate(src = image , kernel = kernel )
erode_image = cv2.erode(src = di_image , kernel = kernel)
new = di_image-erode_image
Grad = cv2.morphologyEx(src = image,kernel = kernel,op = cv2.MORPH_GRADIENT )
cv2.imshow("orginal",image)
cv2.imshow("di",di_image)
cv2.imshow("er",erode_image)
cv2.imshow("di-er",new)
cv2.imshow("Gra",Grad)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

6 礼帽运算

原图像-开运算得到的是边缘或者噪声
语法 op = cv2.MORPH_TOPHAT
下面用erode.JPG做案例:

import numpy as np
import cv2
image = cv2.imread("erode.JPG")
kernel = np.ones((5,5),dtype = np.uint8)
open_image = cv2.morphologyEx(src = image ,kernel = kernel ,iterations = 4 , op = cv2.MORPH_OPEN)
tophat_image = cv2.morphologyEx(src = image,kernel = kernel ,iterations = 4, op =cv2.MORPH_TOPHAT)
cv2.imshow("original",image)
cv2.imshow("open",open_image)
cv2.imshow("3",image-open_image)
cv2.imshow("tophat",tophat_image)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

黑帽运算

闭运算图-原始图像 = 内部的小孔 \ 边缘部分
op = cv2.MORPH_BLACKHAT
下面用close.JPG做案例:

import numpy as np
import cv2
image = cv2.imread("close.JPG")
kernel = np.ones((7,7),dtype = np.uint8)
Close_image = cv2.morphologyEx(src = image,kernel = kernel,op = cv2.MORPH_CLOSE )
black_image = cv2.morphologyEx(src = image,kernel = kernel ,op = cv2.MORPH_BLACKHAT)
cv2.imshow("orginal",image)
cv2.imshow("clo",Close_image)
cv2.imshow("minus",image-Close_image)
cv2.imshow("black",black_image)cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

致谢

本文参考了一些博主的文章,博取了他们的长处,也结合了我的一些经验,对他们表达诚挚的感谢,使我对 形态学操作 有更深入的了解,也推荐大家去阅读一下他们的文章。纸上学来终觉浅,明知此事要躬行:
【OpenCV-图像形态学操作】礼帽与黑帽、梯度运算、开运算与闭运算、形态学-膨胀操作、形态学-腐蚀操作
OpenCV(九)形态学操作4–礼帽与黑帽(顶帽与底帽)

http://www.yidumall.com/news/12842.html

相关文章:

  • 做的比较好的b2b网站b站视频推广网站动漫
  • 怎么在中国移动做网站备案国内推广平台
  • 湛江企业网站怎么建设软件优化
  • 免费客源软件唐山百度提升优化
  • 有什么好的网站可以接单子做列表网推广收费标准
  • 数据网站开发深圳网站开发
  • 深圳做网站哪家便宜seo推广优化官网
  • 信誉好的顺德网站建设荨麻疹怎么治疗能除根
  • 商城网站建设开发公司今日国内最新新闻
  • 手机上如何做网站seo怎么赚钱
  • 搜款网站一起做网店网络营销的主要传播渠道
  • 建筑企业登录哪个网站网站关键词优化排名软件
  • 微信小程序开发需要学什么seo研究
  • 企业网站的优点关键词seo排名优化软件
  • 网站代下单怎么做重庆seo建站
  • 网站头部通用代码推荐6个免费国外自媒体平台
  • 仿webqq织梦管理网站后台模板百度关键词快速排名方法
  • wordpress企业网站插件加盟教育培训机构
  • 中山商城型网站建设东莞seo优化方案
  • 做seo的网站推广武汉网络推广网络营销
  • 企业网站 ecs 虚拟主机免费制作链接
  • 清远网站推广优化公司泉州搜索推广
  • 东阳网站推广兰州seo优化入门
  • 宜宾网站建设网页搜索排名提升
  • 电子商务网站规划的流程宁波seo搜索引擎优化
  • 南通网站建设搭建优化资源配置
  • 网络推广培训公司seo排名优化表格工具
  • 建筑网站起名关键字排名查询工具
  • 网站开发平台是什么服装网络营销策划书
  • 阿里巴巴批发网站怎么做互联网推广招聘