本次实验的目标主要是为了学会使用Python对图像作滤波处理,掌握相关滤波算法。对于给定图像添加噪声,能用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声进行滤波处理。同时学会使用相关算子对图像作锐化处理,掌握相关锐化算法。
本次实验主要完成了对原始图像添加指定强度的高斯噪声和椒盐噪声,使用拉普拉斯算子对图像进行锐化处理,使用中值滤波和均值滤波两种方式进行图像平滑处理并比较其对于高斯和椒盐两类噪声的平滑处理效果,使用不同掩膜大小的中值滤波和均值滤波对带有高斯噪声的图像进行平滑处理并比较不同掩膜大小对于图像平滑的效果影响。
以下为代码:
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 定义求卷积运算的函数
def convolution(img_old, kernel):
#参数为输入图像和卷积模板
img_new = np.zeros(img_old.shape, dtype=int)
#生成与原图像等大的元素均为0的矩阵
for i in range(1, img_new.shape[0] - 1):
# 第一列和最后一列不用处理
for j in range(1, img_new.shape[1] - 1):
tmp = 0 # 初始化为0,用来求和
for k in range(-1, 2):
for l in range(-1, 2):
tmp += img_old[i + k][j + l] * kernel[k + 1][l + 1]

本文介绍了使用Python进行图像处理的实验,包括添加高斯和椒盐噪声,然后应用均值滤波、中值滤波以及拉普拉斯算子进行图像平滑和锐化。实验表明,均值滤波对高斯噪声效果好,中值滤波对椒盐噪声效果佳。滤波窗口大小与去噪效果成正比,但可能导致图像模糊。通过对不同滤波器的比较,展示了它们在处理不同类型噪声时的优劣。
最低0.47元/天 解锁文章





