当我运行以下代码时,输出结果变得模糊,但随着 sigma 值的增加,图像变得更暗。
进口
import numpy as np
import cv2
import matplotlib.pyplot as plt
%matplotlib inline
import math
import copy
Run Code Online (Sandbox Code Playgroud)
高斯滤波器代码
e = 2.71828182845904
pi = 3.1415926535897
def gaus(mat_l,sigma):
Matrix = [[0.0 for x in range(mat_l)] for y in range(mat_l)]
for x in range(-(int(mat_l/2)),(int(mat_l/2))+1):
for y in range(-(int(mat_l/2)),(int(mat_l/2))+1):
ee = pow(e,(-(((pow(x,2)+pow(y,2))/(2*(pow(sigma,2)))))))
aa = (1/(2*pi*pow(sigma,2)))
result = ee*aa
Matrix[x+int(mat_l/2)][y+int(mat_l/2)] = round(result,6)
return Matrix
Run Code Online (Sandbox Code Playgroud)
卷积码
def matrix_convolve(image,kernel,a,b,mul=1):
print(kernel)
img_x, img_y = image.shape
kernl_x, kernl_y = kernel.shape
result = copy.deepcopy(image)
for i in …Run Code Online (Sandbox Code Playgroud)