OpenCV腐蚀操作、膨胀操作、开运算与闭运算

本文介绍了使用OpenCV进行图像处理的基本操作,包括腐蚀、膨胀、开运算和闭运算等,并通过实例展示了不同内核大小和迭代次数对图像的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import cv2 #opencv读取的格式是BGR
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline

1  腐蚀操作
img_dg = cv2.imread("dige.png")

cv2.imshow("img",img_dg)
cv2.waitKey(0)
cv2.destroyAllWindows()

kernel = np.ones((5,5),np.uint8)
erosion = cv2.erode(img_dg,kernel,iterations=1)

cv2.imshow("erosion",erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()

pie = cv2.imread("pie.png")

cv2.imshow("pie",pie)
cv2.waitKey(0)
cv2.destroyAllWindows()

kernel2 = np.ones((30,30),np.uint8)
erosion_1 = cv2.erode(pie,kernel2,iterations=1)
erosion_2 = cv2.erode(pie,kernel2,iterations=2)
erosion_3 = cv2.erode(pie,kernel2,iterations=3)
res = np.hstack((erosion_1,erosion_2,erosion_3))

cv2.imshow("res",res)
cv2.waitKey(0)
cv2.destroyAllWindows()

2  膨胀操作

img_dg = cv2.imread("dige.png")

cv2.imshow("img",img_dg)
cv2.waitKey(0)

cv2.destroyAllWindows()

kernel = np.ones((3,3),np.uint8)

dige_erosion = cv2.erode(img_dg,kernel,iterations=1)

cv2.imshow("erosion",erosion)

cv2.waitKey(0)

cv2.destroyAllWindows()

kernel = np.ones((3,3),np.uint8)

dige_dilate = cv2.dilate(dige_erosion,kernel,iterations=1)

cv2.imshow("dilate",dige_dilate)

cv2.waitKey(0)

cv2.destroyAllWindows()

pie = cv2.imread("pie.png")

kernel3 = np.ones((30,30),np.uint8)

dilate_1 = cv2.dilate(pie,kernel3,iterations=1)

dilate_2 = cv2.dilate(pie,kernel3,iterations=2)

dilate_3 = cv2.dilate(pie,kernel3,iterations=3)

res = np.hstack((dilate_1,dilate_2,dilate_3))

cv2.imshow("res",res)

cv2.waitKey(0)

cv2.destroyAllWindows()

3  开运算与闭运算

#开:先腐蚀,再膨胀
img_k = cv2.imread("dige.png")
kernel_k = np.ones((5,5),np.uint8)
opening = cv2.morphologyEx(img_k,cv2.MORPH_OPEN,kernel_k)

cv2.imshow("opening",opening)
cv2.waitKey(0)
cv2.destroyAllWindows()

#闭:先膨胀,再腐蚀
img_b = cv2.imread("dige.png")
kernel_b = np.ones((5,5),np.uint8)
closinging = cv2.morphologyEx(img_k,cv2.MORPH_CLOSE,kernel_k)

cv2.imshow("closinging",closinging)
cv2.waitKey(0)
cv2.destroyAllWindows()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值