图像的腐蚀与膨胀—opencv实战10
【代码】图像的腐蚀与膨胀—opencv实战10。
·
import cv2
import numpy as np
import matplotlib.pyplot as plt
gray = cv2.imread("opencv_logo.jpg", cv2.IMREAD_GRAYSCALE)
_, binary = cv2.threshold(gray, 200, 255, cv2.THRESH_BINARY_INV) # 反向二值化:INV = Inverse(反转 / 反向);>200设为0,<200设为255,黑白反转
kernel = np.ones((5, 5), np.uint8) # 创建5x5正方形全1矩阵,作为形态学操作的结构元素(核)
erosion = cv2.erode(binary, kernel) # 腐蚀操作:白色区域收缩,消除小白点、细线条,断开小连接
dilation = cv2.dilate(binary, kernel) # 膨胀操作:白色区域扩张,填补小洞、缝隙,连接邻近区域
plt.figure(figsize=(12, 10)) # 设置窗口大小 宽高 英寸
plt.subplot(131), plt.imshow(binary, cmap="gray"), plt.title("binary") #2行2列中的第1张图
plt.subplot(132), plt.imshow(erosion, cmap="gray"), plt.title("erosion") #cmap=gray,让matplotlib用灰度模式显示图像
plt.subplot(133), plt.imshow(dilation, cmap="gray"), plt.title("dilation")
plt.show() # 最终显示

更多推荐
所有评论(0)