【OpenCV-Python】:形态学操作之形态学梯度+顶帽运算与黑帽运算

✨博客主页:王乐予🎈
✨年轻人要:Living for the moment(活在当下)!💪
🏆推荐专栏:【图像处理】【千锤百炼Python】【深度学习】【排序算法

😺一、引言

【OpenCV-Python】:形态学操作之腐蚀与膨胀中介绍了形态学处理的两个基本操作:腐蚀与膨胀;

【OpenCV-Python】:形态学操作之开运算与闭运算中介绍了基于腐蚀与膨胀的另外两个形态学操作:开运算、闭运算;

本节带来基于上述运算的形态学梯度 + 顶帽、黑帽操作。

😺二、形态学梯度

🐶2.2 什么是形态学梯度

形态学梯度能描述图像亮度变化的剧烈程度,我们可以使用形态学梯度突出物体边缘。

常见的几种梯度:

  • 基本梯度:膨胀后的图像减腐蚀后的图像;
  • 内部梯度:原图减腐蚀后的图像;
  • 外部梯度:膨胀后的图像减原图;
  • 方向梯度:使用X方向与Y方向的直线作为结构元素之后得到的图像梯度。

我们常说的形态学梯度一般指基本梯度。

🐶2.2 程序编写及结果可视化

import cv2
import numpy as np


ori = cv2.imread(r"C:\Users\Lenovo\Desktop\original.jpg")
k = np.ones((5, 5), np.uint8)
gradient = cv2.morphologyEx(ori, cv2.MORPH_GRADIENT, k)

cv2.imshow("original", ori)
cv2.imshow("gradient", gradient)
cv2.imwrite(r"C:\Users\Lenovo\Desktop\gradient.jpg", gradient)
cv2.waitKey()

下图为程序执行的结果,可以看到图像的边缘部分得到了加强!

在这里插入图片描述

😺三、顶帽

🐶3.1 什么是顶帽

顶帽可不是⬇️⬇️⬇️⬇️⬇️⬇️⬇️
请添加图片描述
顶帽指原图减去原图的开运算得到的图像,顶帽运算又叫礼帽运算。

顶帽作用:突出原图轮廓的周边区域,分离比邻近点亮一些的斑块。

🐶3.2 程序编写及结果可视化

import cv2
import numpy as np


ori = cv2.imread(r"C:\Users\Lenovo\Desktop\original.jpg")

k = np.ones((5, 5), np.uint8)
tophat = cv2.morphologyEx(ori, cv2.MORPH_TOPHAT, k)

cv2.imshow("original", ori)
cv2.imshow("topha", tophat)
cv2.imwrite(r"C:\Users\Lenovo\Desktop\tophat.jpg", tophat)
cv2.waitKey()
cv2.destroyAllWindows()

下图为程序执行的结果,可以看到图像轮廓的周边区域得到了加强!

在这里插入图片描述

😺四、黑帽

🐶4.1 什么是黑帽

闭运算减去原图得到的图像叫做黑帽。

黑帽作用:黑帽与顶帽相反,黑帽突出原图轮廓的暗区域,分离比邻近点暗一些的斑块。

🐶4.2 程序编写及结果可视化

import cv2
import numpy as np


ori = cv2.imread(r"C:\Users\Lenovo\Desktop\original.jpg")

k = np.ones((5, 5), np.uint8)
blackhat = cv2.morphologyEx(ori, cv2.MORPH_BLACKHAT, k)

cv2.imshow("original", ori)
cv2.imshow("blackhat", blackhat)
cv2.imwrite(r"C:\Users\Lenovo\Desktop\blackhat.jpg", blackhat)
cv2.waitKey()
cv2.destroyAllWindows()

下图为程序执行的结果,可以看到图像轮廓的暗周边区域得到了加强!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王乐予

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值