文章目录
- 一、最大值(max)滤波器
- 二、最小值(min)滤波器
- 二、均值滤波器
- 二、代码实现、效果
-
一、最大值(max)滤波器

二、最小值(min)滤波器

二、均值滤波器

二、代码实现、效果
最大值滤波器
import cv2
import numpy as np
import copyimage_data = cv2.imread('pepperNoiseImg.jpg')
img0 = copy.copy(image_data)
for n in range(1,image_data.shape[0]-1):for m in range(1,image_data.shape[1]-1):for k in range(image_data.shape[2]):a = img0[n-1:n+2, m-1:m+2,k]image_data[n,m,k] = np.max(a)cv2.namedWindow("img",0)
cv2.namedWindow('img', cv2.WINDOW_KEEPRATIO)
cv2.imshow('img',np.hstack([img0,image_data]))
cv2.waitKey(0)

最小值滤波器
import cv2
import numpy as np
import copyimage_data = cv2.imread('saltNoiseImg.jpg')
img0 = copy.copy(image_data)
for n in range(1,image_data.shape[0]-2):for m in range(1,image_data.shape[1]-2):for k in range(image_data.shape[2]):a = img0[n-1:n+2, m-1:m+2,k]image_data[n,m,k] = np.min(a)cv2.namedWindow("img",0)
cv2.namedWindow('img', cv2.WINDOW_KEEPRATIO)
cv2.imshow('img',np.hstack([img0,image_data]))
cv2.waitKey(0)

均值滤波
import cv2
import numpy as np
import copyimage_data = cv2.imread('gaussianNoiseImg.jpg')
img0 = copy.copy(image_data)
for n in range(1,image_data.shape[0]-1):for m in range(1,image_data.shape[1]-1):for k in range(image_data.shape[2]):a = img0[n-1:n+2, m-1:m+2,k]max = np.max(a)min = np.min(a)image_data[n,m,k] = int(max/2) + int(min/2)cv2.namedWindow("img",0)
cv2.namedWindow('img', cv2.WINDOW_KEEPRATIO)
cv2.imshow('img',np.hstack([img0,image_data]))
cv2.waitKey(0)

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!