import numpy as np
from cv2 import cv2
#算术均值滤波器:
def a_mean(img,kernel_size):
G_mean_img = np.zeros(img.shape)
#print(G_mean_img[0][0])
#print(img)
k = int((kernel_size-1)/2)
#print(k)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
if i <k or i>(img.shape[0]-k-1) or j <k or j>(img.shape[1]-k-1):
G_mean_img[i][j]=img[i][j]
else:
for n in range(kernel_size):
for m in range(kernel_size):
G_mean_img[i][j] +=np.float(1/(kernel_size*kernel_size)*img[i-k+n][j-k+m])
#G_mean_img[i][j]=1/9*(img[i-1][j-1]+img[i-1][j]+img[i-1][j+1]+img[i][j-1]+img[i][j]+img[i][j+1]+img[i+1][j-1]+img[i+1][j]+img[i+1][j+1])
G_mean_img = np.uint8(G_mean_img)
return G_mean_img
#几何均值滤波器:
def G_mean(img,kernel_size):
python 实现算术均值滤波,几何均值滤波,谐波均值滤波,逆谐波均值滤波
最新推荐文章于 2024-05-08 20:59:08 发布