一:腐蚀和膨胀操作
https://blog.youkuaiyun.com/qq_30815237/article/details/86693412
https://blog.youkuaiyun.com/mokeding/article/details/17894637
一共需要三步
1:读入图片
2:设置结构元素。常用两种方法
1)设置正方形模板元素
使用NumPy 的 ndarray 来定义结构元素
element = np.uint8(np.zeros((5,5)),np.uint8)
2). 使用getStructuringElement 定义一个结构元素。
element = cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5))
相关getStructuringElement的用法
https://blog.youkuaiyun.com/kksc1099054857/article/details/76569718#comments
3 :调用腐蚀和膨胀的函数,传参数
二:开运算,闭运算
https://blog.youkuaiyun.com/lhm_19960601/article/details/82561193
本章的主角是morphologyEx函数,它利用基本的腐蚀和膨胀技术,来执行更加高级的形态学变换。
opencv中提供的API:
void morphologyEx(src, dst, int op, InputArray kernel, Point ancho, int iterations=1, int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphologyDefaultBorderValue())
第三个参数:选择使用什么形态学操作
MORPH_OPEN - 开操作
MORPH_CLOSE - 闭操作
MORPH_GRADIENT - 形态学梯度
MORPH_TOPHAT - 顶帽
MORPH_BLACKHAT - 黑帽
MORPH_HITMISS - 击中与击不中
kernel = cv.getStructuringElement(cv.MORPH_RECT,(3, 3))
open1=cv.morphologyEx(img1,cv.MORPH_OPEN,kernel)