gpt4 book ai didi

python - 如何使用python在opencv中对噪声图像执行中值滤波

转载 作者:行者123 更新时间:2023-12-02 17:09:27 27 4
gpt4 key购买 nike

我是OpenCV和Python的新手。我想通过首先将噪声添加到图像中来执行高斯滤波器和中值滤波器。我已经获得了高斯滤波器的成功输出,但没有中值滤波器。任何人都可以解释一下如何在Python中使用Python对噪声图像执行中值滤波。以下是我的代码:

 import numpy as np

import cv2

img = cv2.imread('lizard.jpg').astype(np.float32)



gaussian_blur = np.array([[1,2,1],[2,4,2],[1,2,1]],dtype=np.float32)
gaussian_blur = gaussian_blur/np.sum(gaussian_blur)


img_noise = img + np.random.uniform(-20,20,size=np.shape(img))

cv2.imwrite('gt3_plus_noise.jpg',img_noise)
median = cv2.medianBlur(img_noise.astype(np.float32),(3),0)
cv2.imshow('Median Blur',median)
cv2.waitKey()
cv2.destroyAllWindows()
img_blur_g = cv2.filter2D(img_noise.astype(np.float32), -1,gaussian_blur)

cv2.imwrite('gt3_noise_filtered_gaussian.jpg',img_blur_g)

输出:

噪声滤波高斯

enter image description here

噪点图像

enter image description here

中值滤波图像

enter image description here

最佳答案

OpneCV在Python和C++中具有函数meanBlur来执行中值过滤。您可以从此处获取详细信息:http://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html#medianblur

要使用此功能,请遵循以下代码片段:

n=3; #where n*n is the size of filter
output_image = cv2.medianBlur(input_image, n)

关于python - 如何使用python在opencv中对噪声图像执行中值滤波,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46535103/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com