胀与腐是非常常见的图像处理技巧(现在就见到了)

需要注意的是,这里的腐蚀和膨胀时对于白色部分而言的,而不是黑色部分!!

字体的大小就是常见的图像的腐蚀和膨胀。腐蚀和膨胀可以很好的去除掉图像中的噪声点,消除物体边界附近的像素。

代码编写

首先是导入相关的库


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

还没有评论,抢个沙发!