opencv-python图像处理(五)

opencv-python图像处理(五)

形态学转换

cv2.erode() 腐蚀,卷积核沿着图像滑动,如果与卷积核对应的原图
像的所有像素值都是 1,那么中心元素就保持原来的像素值,否则就变为零
cv2.dilate() 膨胀,与卷积核对应的原图像的像素值中只要有一个是 1,中心元素的像素值就是 1
cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel) 开运算,先进性腐蚀再进行膨胀
cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel) 闭运算,先进行膨胀再进行腐蚀
cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel) 梯度,图像梯度运算是膨胀图像减去腐蚀图像的结果
得到图像的轮廓,其中二值图像1表示白色点,0表示黑色点
cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel) 顶帽(或图像礼帽)运算是原始图像减去图像开运算的结果,
得到图像的噪声
cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel) 黑帽,进行闭运算之后得到的图像与原始图像的差


import cv2
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei'   # 可以显示汉字

img = cv2.imread('bbb.jpg', 0)

kernel = np.ones((5, 5), np.uint8)  # 卷积核
erosion = cv2.erode(img, kernel, iterations=1)  # 腐蚀
dilation = cv2.dilate(erosion, kernel, iterations=1)  # 膨胀
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)   # 开运算
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)  # 闭运算
gradient = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel)  # 梯度
top_hat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)  # 顶帽
black_hat = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel)  # 黑帽

plt.subplot(331), plt.imshow(img, 'gray'), plt.title('原图像')
plt.subplot(332), plt.imshow(erosion, 'gray'), plt.title('腐蚀')
plt.subplot(333), plt.imshow(dilation, 'gray'), plt.title('膨胀')
plt.subplot(334), plt.imshow(opening, 'gray'), plt.title('开运算')
plt.subplot(335), plt.imshow(gradient, 'gray'), plt.title('梯度')
plt.subplot(336), plt.imshow(top_hat, 'gray'), plt.title('顶帽')
plt.subplot(337), plt.imshow(black_hat, 'gray'), plt.title('黑帽')

plt.show()

在这里插入图片描述
opencv-python图像处理(一)
opencv-python图像处理(二)
opencv-python图像处理(三)
opencv-python图像处理(四)
opencv-python图像处理(五)
opencv-python图像处理(六)
opencv-python图像处理(七)
opencv-python图像处理(八)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值