python+opencv-12 黑帽和礼帽运算

  • 黑帽和礼帽运算
  • 代码实现

黑帽和礼帽运算

黑帽和礼帽运算是建立在开运算与闭运算基础上的。
黑帽运算是指用原始图像减去闭运算结果,即:
Bhat(I)=I⋅S−I{{B}_{hat}}(I)=I\cdot S-IBhat​(I)=I⋅S−I
该方法可以获得比原始图像边缘更加黑暗的边缘部分,或者获得图像内部的小孔。
礼帽运算是用原始图像减去开运算结果,即:
That(I)=I⋅S−I{{T}_{hat}}(I)=I\cdot S-IThat​(I)=I⋅S−I
该方法可以获得图像的噪声信息或者比原始图像边缘更亮的边缘部分。

代码实现

import cv2 as cv
import numpy as npimage = cv.imread("fu.jpg")
cl = cv.imread("cl.jpg")
k = np.ones((3, 3), np.uint8)
black = cv.morphologyEx(image, cv.MORPH_BLACKHAT, k)
top = cv.morphologyEx(cl, cv.MORPH_TOPHAT, k)cv.imshow("image1", image)
cv.imshow("image2", cl)
cv.imshow("black", black)
cv.imshow("top", top)cv.waitKey()
cv.destroyAllWindows()



礼帽运算结果:

python+opencv-12 黑帽和礼帽运算相关推荐

  1. [Python] OpenCV 摄像头黑边问题

    Python 3.8 + OpenCV4 + PyQt5 ,利用OpenCV打开摄像头在QLabel上显示. 代码如下: self.cap0 = cv2.VideoCapture() self.cap ...

  2. [Python] OpenCV 摄像头黑边问题 - 彻底解决

    接上一篇博文(https://blog.csdn.net/weixin_46185214/article/details/105847828), 本次找到我的问题根源了 今天做截图保存的时候发现截图分 ...

  3. python opencv 投影变换 黑边

    def rotate_3(img,angle_vari=10):w, h = img.shape[0:2]fov = 42anglex = np.random.uniform(-angle_vari, ...

  4. 【opencv】(4) 形态学处理:腐蚀膨胀、梯度运算、礼帽黑帽

    各位同学好,今天和大家分享一下图像的形态学处理方法.内容有: 膨胀腐蚀.开运算和闭运算.梯度运算.礼帽和黑帽 (1)腐蚀:cv2.erode():(2)膨胀:cv2.dilate():(3)形态学函数 ...

  5. OpenCV梯度运算、礼帽与黑帽

    # 梯度=膨胀-腐蚀 pie_t = cv2.imread("pie.png") kernel_t = np.ones((5,5),np.uint8) digete_t = cv2 ...

  6. opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版

    基础版学习笔记: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 基础版形态学: opencv学 ...

  7. opencv学习笔记14:图像礼帽,图像黑帽

    python + OpenCV 图像礼帽 图像礼帽 也叫图像顶帽 礼帽图像=原始图像-开运算图像 得到噪声图像 开运算:先腐蚀再膨胀 使用对象:二值图像 使用方法:morphologyEx cv2.M ...

  8. OpenCV 形态学操作之腐蚀与膨胀,开运算与闭运算,顶帽与黑帽,图像梯度运算相关知识点回顾

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 45 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...

  9. opencv 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽

    图像膨胀和腐蚀 图解 原理及python实现 更多内容:图像膨胀和腐蚀原理及python实现 opencv中膨胀和腐蚀函数 dilation = cv.dilate(img, kernel) # 膨胀 ...

最新文章

  1. Django admin coercing to Unicode: need string or buffer, tuple found
  2. 一个球从100m高度自由落下,第10次反弹多高
  3. 掘金小册Jenkins大纲准备
  4. 使用地图触发功能处理相干事件
  5. 在JavaScript中操作Cookie
  6. cl编译C文件的环境变量修改
  7. Android.light.apk,Android_Lightblue.apk
  8. Blender场景建模练习:破旧的公寓楼
  9. BeautifulSoup 使用经验总结
  10. apple tv 开发_如何在新的Apple TV上重新排列,配置和删除应用程序和游戏
  11. VBOX虚拟机的网络设置
  12. 计算机串口如何应用程序,串口通信调试软件的功能与使用方法 - 全文
  13. Android 播放器之流媒体,边下边播如此简单。
  14. 计算机程序设计员二级证书,大厂计算机程序设计员职业资格证书
  15. 可爱的狮子(lion)
  16. SuperMap 地图裁剪
  17. [CTF]使用浏览器firefox插件伪装IP地址
  18. 数值分布的分散程度对迭代次数的影响
  19. Centos7中查看IP命令
  20. 云服务器与物理服务器各自的优势

热门文章

  1. ElasticSearch之Head插件集群健康问题
  2. JAVA-生成二维码图片
  3. 第二届中国PWA开发者日
  4. 计算机科技协会知识竞赛策划书,科协活动策划书
  5. 争对让望对思野葛对山栀注解_中华经典名著《笠翁对韵》全文解释(上卷四支)...
  6. matlab——对图形局部区域上色
  7. LeetCode——字符串的最大公因子
  8. springboot毕设项目会议室预约管理系统kh090(java+VUE+Mybatis+Maven+Mysql)
  9. 成功人士每天早上的15个习惯
  10. pandas中关于DataFrame去掉重复行和NaN行