Python OpenCV _4初级滤波(均值滤波,高斯滤波,中值滤波)

此系列源码在我的GitHub里:https://github.com/yeyujujishou19/Python-OpenCV

理论就不说了,直接上代码和效果图

原图

一,均值滤波

代码:

# coding=utf-8
import cv2

img = cv2.imread("D:/lena.jpg", 0)
result = cv2.blur(img, (5, 5))

cv2.imshow("Origin", img)
cv2.imshow("Blur", result)

cv2.waitKey(0)
cv2.destroyAllWindows()

代码结果:

二,高斯滤波

代码:

# coding=utf-8
import cv2

img = cv2.imread("D:/lena.jpg", 0)
gaussianResult = cv2.GaussianBlur(img,(5,5),1.5)

cv2.imshow("Origin", img)
cv2.imshow("GaussianBlur", gaussianResult)

cv2.waitKey(0)
cv2.destroyAllWindows()

代码结果:

 

三,中值滤波

代码:

# coding=utf-8
import cv2
import numpy as np

#加入椒盐噪声
def salt(img, n):
    for k in range(n):
        i = int(np.random.random() * img.shape[1]);
        j = int(np.random.random() * img.shape[0]);
        if img.ndim == 2:
            img[j, i] = 255
        elif img.ndim == 3:
            img[j, i, 0] = 255
            img[j, i, 1] = 255
            img[j, i, 2] = 255
    return img


img = cv2.imread("D:/lena.jpg", 0)
result = salt(img, 500) #加入椒盐噪声
median = cv2.medianBlur(result, 5)

cv2.imshow("Salt", result)
cv2.imshow("Median", median)

cv2.waitKey(0)

代码结果:

 

欢迎扫码关注我的微信公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值