Python_code_使用OpenCV库对图片实现数据增强_11种
代码:
#读取文件用
import os
import glob
#openCV的库
import cv2
import cv2 as cv
import numpy as np
#显示图片用
import matplotlib.pyplot as plt
#以下两行实现了在plt画图时,可以输出中文字符
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
def Image_Enhancement(img_path):
print(img_path)
img = cv2.imread(img_path);
#显示原图
plt.figure(),plt.title("原图"),plt.imshow(img),plt.xticks([]),plt.yticks([]);
#均值模糊 去随机噪声有很好的去燥效果
im = cv.blur(img,(1,15));
plt.figure(),plt.title("均值模糊"),plt.imshow(im),plt.xticks([]),plt.yticks([]);
#中值模糊 对椒盐噪声有很好的去燥效果
im = cv.medianBlur(img,5);
plt.figure(),plt.title("中值模糊"),plt.imshow(im),plt.xticks([]),plt.yticks([]);
#高斯模糊
im = cv2.GaussianBlur(img, (15, 15), 0);
plt.figure(),plt.title("高斯模糊"),plt.imshow(im),plt.xticks([]),plt.yticks([]);
#双边滤波
im = cv.bilateralFilter(img, 0, 100, 15);
plt.figure(),plt.title("双边滤波"),plt.imshow(im),plt.xticks([]),plt.yticks([]);
#均值迁移
im = cv.pyrMeanShiftFiltering(img, 10, 50);
plt.figure(),plt.title("均值迁移"),plt.imshow(im),plt.xticks([]),plt.yticks([]);
#直方图正规化
im = np.zeros