基于Python和opencv图像处理(3)——图片的膨胀与腐蚀
图片的膨胀与腐蚀是非常常见的图像处理技巧(现在就见到了)
需要注意的是,这里的腐蚀和膨胀时对于白色部分而言的,而不是黑色部分!!

字体的大小就是常见的图像的腐蚀和膨胀。腐蚀和膨胀可以很好的去除掉图像中的噪声点,消除物体边界附近的像素。
代码编写
首先是导入相关的库
import cv2 import numpy as np import matplotlib.pyplot as plt
之后利用opencv的函数来读取我们的图像。
# 读取图像
img = cv2.imread('C:/Users/13256/Desktop/11.tif', cv2.IMREAD_GRAYSCALE)
定义结构元素来确定我们的卷积运算大小
# 定义结构元素(核) kernel = np.ones((5, 5), np.uint8)
利用opencv的内置函数来进行膨胀运算
# 膨胀操作 dilated_img = cv2.dilate(img, kernel, iterations=1)
最后显示出我们的图像
# 显示原始图像、膨胀后的图像
plt.subplot(1, 2, 1), plt.imshow(img, cmap='gray'), plt.title('原始图像')
plt.subplot(1, 2, 2), plt.imshow(dilated_img, cmap='gray'), plt.title('膨胀操作后的图像')
plt.show()
可以看到膨胀操作更凸显出图片的轮廓和边界
将膨胀函数方法换成腐蚀,之后再运行我们的代码。
# 腐蚀操作 dilated_img = cv2.erode(img, kernel, iterations=1)

以下附上全部代码
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread('C:/Users/13256/Desktop/11.tif', cv2.IMREAD_GRAYSCALE)
# 定义结构元素(核)
kernel = np.ones((5, 5), np.uint8)
# 膨胀操作
dilated_img = cv2.erode(img, kernel, iterations=1)
# 显示原始图像、膨胀后的图像
plt.subplot(1, 2, 1), plt.imshow(img, cmap='gray'), plt.title('原始图像')
plt.subplot(1, 2, 2), plt.imshow(dilated_img, cmap='gray'), plt.title('膨胀操作后的图像')
plt.show()
嘉立创PCB


登录 或 注册 后才可以进行评论哦!
还没有评论,抢个沙发!