一、图像腐蚀含义
1.1、定义
腐蚀类似 “领域被蚕食 ”,将图像中的高亮区域或白色部分进行缩减细化,其运行结果比原图的高亮区域更小。
腐蚀的运算符号是 “ -”,其运算规则是:
A − B = { x ∣ B x ⊆ A } A-B=\left\{x \mid B_{x} \subseteq A\right\} A−B={x∣Bx⊆A}
该公式表示图像 A用卷积模板 B来进行腐蚀处理,通过模板 B与图像 A进行卷积计算,得出 B 覆盖区域的像素点最小值,并用这个最小值来替代参考点的像素值。如图所示,将左边的原始图像 A腐蚀处理为右边的效果图 A-B。
1.2、解释图
1.2.1、过程示意图
1.2.2、效果图对比
二、erode()函数实现图像腐蚀
2.1、函数调用格式
dst = cv2.erode(src,kernel,iterations)
src:需要处理的图像
kernal:卷积核大小,一般为整形,设置格式为 k e r n e l = n p . o n e s ( ( 5 , 5 ) , n p . u i n t 8 ) kernel = np.ones((5,5),np.uint8) kernel=np.ones((5,5),np.uint8)
iteration:迭代次数,默认为 1 ,如过想要达到更好效果,可以腐蚀多次
2.2、案例实现
#Author:MuMengSunny
#Filename:图像腐蚀
import cv2
import numpy as np
img = cv2.imread(r'F:\image\erode.png',cv2.IMREAD_UNCHANGED)
erode_img = cv2.erode(img,kernel=np.ones((2,2),np.uint8),iterations=3) # 经过测试,卷积核大小为2*2,迭代3次,效果比较好
cv2.imshow('original',img)
cv2.imshow('erode_img',erode_img)
cv2.waitKey(0)
cv2.destroyAllWindows()