形态学-腐蚀操作

导入必要的库

import cv2
import numpy as np

定义显示图像的函数

def cv_show(name, img):
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

读取图像

在这里插入图片描述

name.jpg

在这里插入图片描述

sun.jpg
# 读取名为 'name.jpg' 的图像
img = cv2.imread('name.jpg')

# 读取名为 'sun.jpg' 的图像
img2 = cv2.imread('sun.jpg')

转换为灰度图像

在这里插入图片描述
在这里插入图片描述

# 将 'img' 转换为灰度图像
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 将 'img2' 转换为灰度图像
img_gray2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)

应用二值化反转阈值处理

在这里插入图片描述
在这里插入图片描述

# 对 'img_gray' 应用二值化反转阈值处理,阈值为 127
ret, ref = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY_INV)

# 对 'img_gray2' 应用二值化反转阈值处理,阈值为 127
ret2, ref2 = cv2.threshold(img_gray2, 127, 255, cv2.THRESH_BINARY_INV)

显示处理后的图像

# 显示处理后的 'ref' 图像
cv_show('ref', ref)

应用腐蚀操作

在这里插入图片描述

# 创建一个 3x3 的结构元素
kernel = np.ones((3, 3), np.uint8)

# 对 'ref' 应用腐蚀操作,迭代次数为 1
erosion = cv2.erode(ref, kernel, iterations=1)
# 显示侵蚀一次后的图像
cv_show('erosion', erosion)

# 创建一个 30x30 的结构元素
kernel_ = np.ones((30, 30), np.uint8)

# 对 'ref2' 应用腐蚀操作,迭代次数为 1
erosion1 = cv2.erode(ref2, kernel_, iterations=1)

# 对 'ref2' 应用腐蚀操作,迭代次数为 2
erosion2 = cv2.erode(ref2, kernel_, iterations=2)

# 对 'ref2' 应用腐蚀操作,迭代次数为 3
erosion3 = cv2.erode(ref2, kernel_, iterations=3)

水平堆叠图像

在这里插入图片描述

# 将腐蚀后的图像水平堆叠在一起(横着加在一块)
res = np.hstack((erosion1, erosion2, erosion3))

# 显示堆叠后的结果图像
cv_show('res', res)
👇 源码资料获取 · 技术与交流 👇

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

宇宙第一小趴菜

感谢宝的支持,有宝是吾生之幸

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

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

打赏作者

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

抵扣说明:

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

余额充值