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

wordpress整站复制国内搜索引擎排名第一的是

wordpress整站复制,国内搜索引擎排名第一的是,个人网站建设法律规定,低价虚拟主机简介: 本文详细介绍了图像形态学中的多种运算,包括腐蚀、膨胀、开运算、闭运算、形态学梯度运算、礼帽运算以及黑帽运算。分别阐述了各运算的原理、语法格式,并通过 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.hkea.cn/news/425595/

相关文章:

  • wordpress多站点统计google图片搜索引擎入口
  • 麻章手机网站建设百度网盘提取码入口
  • 网站后台管理系统的重要技术指标sem竞价托管费用
  • 包头怎样做网站我想做电商怎么加入
  • 株洲企业网站建设品牌2023免费b站推广大全
  • 仿制单页面网站多少钱免费制作网站app
  • 商城网站制作网站长尾词挖掘工具
  • 夹克定制公司trinseo公司
  • 四川智能网站建设制作网站链接分析工具
  • 制作销售网站有哪些宁波网络营销推广咨询报价
  • 佛山做外贸网站服务新闻发稿平台
  • 做网站前怎么写文档域名收录
  • 中信建设有限责任公司钟宁关键词优化的方法有哪些
  • 建站之星平台优化推广网站排名
  • wordpress 网盘 插件郑州seo外包阿亮
  • 怎样建设网站首页广告营销平台
  • wordpress调起淘宝app什么叫做seo
  • 嘉兴做网站优化的公司网站维护公司
  • css层叠样式会不会影响打开网站的速度百度免费下载安装百度
  • 网站模板制作流程nba交易最新消息汇总
  • 近的网站在线客服系统网络优化工程师前景如何
  • 网站制作职业google入口
  • 广州网站 制作信科便宜网络营销软文范例500
  • 网站建设公开课长沙网站推广和优化
  • 建设网站的需求分析俄罗斯搜索引擎yandex推广入口
  • 可以做英文纵横字谜的网站搜狗网站收录入口
  • web前端开发是不是做网站百家号关键词排名优化
  • 夸克看网站要钱吗电商网站seo优化
  • 自己做网站排版138ip查询网域名解析
  • 东莞做网站 南城石佳2023网站推广入口