滤波算法主要包括均值滤波,高斯滤波,中值滤波和双边滤波。
每种算法都有自己的特点,建议从原理上了解每种算法的优缺点。上图给出简洁版的总结。
以下是代码:
import numpy as np import cv2 import matplotlib.pyplot as plt 四个不同的滤波器 img = cv2.imread('cat.jpg') # 均值滤波 img_mean = cv2.blur(img, (5,5)) # 高斯滤波 img_Guassian = cv2.GaussianBlur(img,(5,5),0) # 中值滤波 img_median = cv2.medianBlur(img, 5) # 双边滤波 img_bilater = cv2.bilateralFilter(img,9,75,75) # 展示不同的图片 titles = ['srcImg','mean', 'Gaussian', 'median', 'bilateral'] imgs = [img, img_mean, img_Guassian, img_median, img_bilater] for i in range(5): plt.subplot(2,3,i+1)#注意,这和matlab中类似,没有0,数组下标从1开始 plt.imshow(imgs[i]) plt.title(titles[i]) plt.show()
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222150.html原文链接:https://javaforall.net
