OpenCV 礼帽和黑帽
- 礼帽运算
原图像与“开运算“的结果图之差,如下式计算:
因为开运算带来的结果是放大了裂缝或者局部低亮度的区域,因此,从原图中减去开运算后的图,得到的效果图突出了比原图轮廓周围的区域更明亮的区域,且这一操作和选择的核的大小相关。
礼帽运算用来分离比邻近点亮一些的斑块。当一幅图像具有大幅的背景的时候,而微小物品比较有规律的情况下,可以使用顶帽运算进行背景提取。
- 黑帽运算
为”闭运算“的结果图与原图像之差。数学表达式为:
黑帽运算后的效果图突出了比原图轮廓周围的区域更暗的区域,且这一操作和选择的核的大小相关。
黑帽运算用来分离比邻近点暗一些的斑块。
cv.morphologyEx(img, op, kernel)
img: 要处理的图像
op: 处理方式:
- cv.MORPH_OPEN:开运算
- cv:MORPH_CLOSE:闭运算
- cv:MORPH_TOPHAT:礼帽运算
- cv:MORPH_BLACKHAT:黑帽运算
Kernel: 核结构
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt# 1 读取图像
img1 = cv.imread("./1.png")
img2 = cv.imread("./2.png")# 2 创建核结构
kernel = np.ones((10, 10), np.uint8)# 3 图像的礼帽和黑帽运算
cvOpen = cv.morphologyEx(img1, cv.MORPH_TOPHAT, kernel) # 礼帽运算
cvClose = cv.morphologyEx(img2, cv.MORPH_BLACKHAT, kernel) # 黑帽运算# 4 图像显示
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 8))
axes[0, 0].imshow(img1)
axes[0, 0].set_title("原图")
axes[0, 1].imshow(cvOpen)
axes[0, 1].set_title("礼帽运算结果")
axes[1, 0].imshow(img2)
axes[1, 0].set_title("原图")
axes[1, 1].imshow(cvClose)
axes[1, 1].set_title("黑帽运算结果")
plt.show()
OpenCV 礼帽和黑帽相关推荐
- OpenCV 礼帽与黑帽
形态学-腐蚀操作 img = cv2.imread('sleep.png')kernel = np.ones((5, 5), np.uint8) erosion = cv2.erode(img, ke ...
- opencv中礼帽和黑帽_一流的礼帽
opencv中礼帽和黑帽 Problem statement: 问题陈述: There is a class of N students and the task is to find the top ...
- 基于python的opencv图像形态学处理(图像腐蚀与膨胀操作以及礼帽与黑帽)
腐蚀与膨胀 图像的腐蚀与膨胀互为逆向操作,通常用于处理二值图像(黑白图,以黑色为底面背景),因此需要先进行二值化处理,腐蚀和膨胀通俗的理解就是,在指定大小的卷积核内,如果该卷积核内全为黑色或全为白色, ...
- python+OpenCv笔记(七):图像的形态学操作(腐蚀与膨胀、开闭运算、礼帽与黑帽)
一.腐蚀与膨胀 腐蚀就是原图中高亮的部分被蚕食,效果图拥有比原图更小的高亮区域. 腐蚀的作用是:消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点. 膨胀就是使原图中高亮的部分扩张,效果图拥有比 ...
- 【opencv学习】【形态学】【腐蚀与膨胀】【开运算与闭运算】【礼帽和黑帽】
一:膨胀和腐蚀 原始图像如下: hw.png hw_inv.png 如下展示代码: import numpy as np import random import cv2 import matplot ...
- OpenCV梯度运算、礼帽与黑帽
# 梯度=膨胀-腐蚀 pie_t = cv2.imread("pie.png") kernel_t = np.ones((5,5),np.uint8) digete_t = cv2 ...
- OpenCV_05 形态学操作:连通性+腐蚀和膨胀+开闭运算+礼帽和黑帽
1 连通性 在图像中,最小的单位是像素,每个像素周围有8个邻接像素,常见的邻接关系有3种:4邻接.8邻接和D邻接.分别如下图所示: 4邻接:像素p(x,y)的4邻域是:(x+1,y):(x-1,y): ...
- 礼帽和黑帽及opencv实现
目录 1 原理 1.1 礼帽运算 1.2 黑帽运算 2 opencv 实现 2.1 礼帽运算 2.2 黑帽运算 1 原理 1.1 礼帽运算 原图像与"开运算"的结果图之差. 开运算 ...
- opencv打卡52-53: 礼帽与黑帽tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)//////balckhat = cv2.mor
1.介绍 礼帽 = 原始输入-开运算结果 黑帽 = 闭运算-原始输入 tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel) balckhat ...
最新文章
- 连接远程ms sql server 2000企业版时出现错误:10061的解决方法
- 基于SSM实现垃圾分类信息管理系统
- 如何在awk中引用外部变量
- OpenCV2.4.13在VS2012环境的debug模式下的链接库输入配置的文件目录
- zookeeper web ui--gt;node-zk-browser安装
- shiro自定义Realm
- 极力推荐5款我一直在使用的Chrome优秀插件!
- linux属性表示的文件,Linux基础入门:文件和目录属性的含义
- oracle监听服务丢失,Oracle监听服务无法启动或丢失的解决办法
- Java多线程学习三十六:主内存和工作内存的关系
- Android 小游戏添加音效
- 【转】DVI转HDMI没声音怎么办
- 99%的人误解BLM中的“战略”与“执行”的关系及错误认为BLM/BEM就是战略解码的全部!
- Unity SRP初识之URP
- salesforce架构_使用Salesforce扩展用户研究运营基础架构
- 【记录】深度学习之蒸馏法训练网络
- 浙大计算机跨专业考研心路历程记录
- 今日头条广告如何优化?这四个思路至关重要
- Nacos源码之一-配置自动更新(重写)
- python安装及模块安装