腐蚀操作

#腐蚀操作
import cv2
import numpy as np
img=cv2.imread("d:/ke.png")
kernel = np.ones((3,3),np.uint8)
erosion = cv2.erode(img,kernel,iterations = 1)#腐蚀操作 iterations控制腐蚀程度
erosion1 = cv2.erode(img,kernel,iterations = 2)
erosion2 = cv2.erode(img,kernel,iterations = 3)
res=np.hstack((img,erosion,erosion1,erosion2))
cv2.imshow('erosion', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

膨胀操作

import  cv2
import numpy as np
img=cv2.imread("d:/ke.png")
kernel=np.ones((3,3),np.uint8)
img_diate=cv2.dilate(img,kernel,iterations=1) #膨胀操作
img_diate1=cv2.dilate(img,kernel,iterations=2)
img_diate2=cv2.dilate(img,kernel,iterations=3)
res=np.hstack((img_diate,img_diate1,img_diate2)) #水平展示
cv2.imshow("ditae",res)
cv2.waitKey(0)
cv2.destroyAllWindows()

开闭运算

import  cv2
import numpy as np
img=cv2.imread("d:/ke.png")
kernel=np.ones((3,3),np.uint8)
open=cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)#开运算:先腐蚀,后膨胀
close=cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)#关运算:先膨胀,后腐蚀
res=np.hstack((open,close))
cv2.imshow("kai vs close",res)
cv2.waitKey(0)
cv2.destroyAllWindows()

梯度运算

#梯度运算
import cv2
import numpy as np
img=cv2.imread("d:/ke.png")
kernel=np.ones((3,3),np.uint8)
dilate=cv2.dilate(img,kernel,iterations=3) #膨胀
erosion=cv2.erode(img,kernel,iterations=3) #腐蚀
gradient=cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel) #梯度
res=np.hstack((dilate,erosion,gradient))
cv2.imshow("show",res)
cv2.waitKey(0)
cv2.destroyAllWindows()

礼帽与黑帽

礼帽 = 原始输入-开运算结果

黑帽 = 闭运算-原始输入

import cv2
import numpy as np
img=cv2.imread("d:/ke.png")
kernel=np.ones((3,3),np.uint8)
tophar=cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel) #礼帽
blackhar=cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel) #黑帽
res=np.hstack((tophar,blackhar))
cv2.imshow("hat",res)
cv2.waitKey(0)
cv2.destoryAllWindows()

最新文章

  1. angularjs的resource实例对象
  2. COSBench添加driver负载机
  3. 使用fastcgi_finish_request提高页面响应速度
  4. Silverlight以列表显示数据库数据_DataGrid
  5. msyql数据库位置
  6. 在Windows上,如何卸载RabbitMQ服务
  7. 关于 JavaScript 中一个小细节问题 (在控制台中直接 {Name:'王尼玛',Age:20} 对象报错问题)
  8. 分享php中四种webservice实现的简单架构方法及实例[转载]
  9. Jquery实现图片左右滚动(自动)
  10. dos 下 注册win 组件 ocx 后缀的
  11. SpringMVC基础学习(三)—参数绑定
  12. centos7 jdk8 tomcat8 安装
  13. 阿里java开发手册中命名规约解读之DO/BO/DTO/VO/AO
  14. 初学c# -- 记录QQ键盘
  15. 微信、支付宝App支付-JPay0.0.2发布
  16. processing fill()和stroke()函数
  17. VC++ 实现修改文件创建、访问、修改时间属性(转载)
  18. 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.2 ruleflow-group&salience
  19. 向Ubuntu的Dash中添加图标
  20. 用java数组模拟购物商城功能与实现

热门文章

  1. iOS核心动画高级技巧-5
  2. monkey测试跑多个apk|monkey命令
  3. 【转】浅谈命令查询职责分离(CQRS)模式
  4. React中refs持久化
  5. SpringCloud之Feign 负载均衡请求超时时间
  6. JavaScript Map 和 Set
  7. 4. java基础之修饰符
  8. NSwag.AspNetCore常用功能介绍
  9. Angular(05)- 组件知识点脑图
  10. 在Dynamics CRM中使用Bootstrap