1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| import cv2 import numpy as np from matplotlib import pyplot as plt
def display_images(images, titles): """显示多个图像""" rows = 3 cols = 3 for i, (image, title) in enumerate(zip(images, titles)): plt.subplot(rows, cols, i + 1), plt.imshow(image, cmap='gray') plt.title(title), plt.xticks([]), plt.yticks([]) plt.tight_layout() plt.show()
image_path = 'data\\archive\\jpeg_images\\IMAGES\\img_0001.jpeg'
image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
kernel = np.ones((3, 3), np.uint8)
erosion = cv2.erode(image, kernel, iterations=1)
dilation = cv2.dilate(image, kernel, iterations=1)
opening = cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel)
closing = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)
gaussian_blur = cv2.GaussianBlur(image, (5, 5), 0)
median_blur = cv2.medianBlur(image, 5)
images = [image, erosion, dilation, opening, closing, gaussian_blur, median_blur] titles = ['Original Image', 'Erosion', 'Dilation', 'Opening', 'Closing', 'Gaussian Blur', 'Median Blur']
display_images(images, titles)
|