图像膨胀腐蚀——opencv

图像腐蚀:

  • 图像二值化,将图像的灰度值根据阈值进行0,1处理得到的图像;
  • 卷积核,对应信号处理中的高低频滤波器。常用numpy去设置,np.ones((m,n), np.uint8) 表示指定m*n的卷积核;
  • 图像的腐蚀,cv2.erode(二值化图像, 卷积核, 迭代次数)

代码处理过程:

import cv2
import numpy as np
## 测试图片,为反斜杠
pic = 'C:/1.jpg'
## a.图像的二值化 ,这里没有做阈值处理
src = cv2.imread(pic,cv2.IMREAD_UNCHANGED)

## b.设置卷积核5*5
kernel = np.ones((5,5),np.uint8)
## c.图像的腐蚀,默认迭代次数
erosion = cv2.erode(src,kernel)
## 效果展示
cv2.imshow('origin',src)
## 腐蚀后
cv2.imshow('after erosion',erosion)

图像膨胀

图像膨胀时腐蚀的逆过程,往往先通过腐蚀使图片线条变窄,然后腐蚀可以去除噪声。图像膨胀的处理过程:

  • 图像二值化,将图像的灰度值根据阈值进行0,1处理得到的图像;
  • 卷积核,对应信号处理中的高低频滤波器。常用numpy去设置,np.ones((m,n), np.uint8) 表示指定m*n的卷积核;
  • 图像的腐蚀,cv2.dilate(二值化图像, 卷积核, 迭代次数)

代码处理过程:

import cv2
import numpy as np
## 测试图片,为反斜杠
pic = 'C:/1.jpg'
## a.图像的二值化 ,这里没有做阈值处理
src = cv2.imread(pic,cv2.IMREAD_UNCHANGED)

## b.设置卷积核5*5
kernel = np.ones((5,5),np.uint8)
## c.图像的腐蚀,默认迭代次数
erosion = cv2.erode(src,kernel)
## 图像的膨胀
dst = cv2.dilate(erosion,kernel)
## 效果展示
cv2.imshow('origin',src)
## 腐蚀后
cv2.imshow('after erosion',erosion)
## 膨胀后
cv2.imshow('after dilate',dst)

你可能感兴趣的:(图像膨胀腐蚀——opencv)