python+opencv+图像滤波

    在一张图像,在数据存储或传输的过程中,或多或少都会引入噪声,常见的图像噪声如高斯噪声、瑞利噪声、椒盐噪声等。为了避免噪声对图像信息进行干扰或者说为了更有利于图像的后续处理,所以需要对图像进行滤波。在OpenCV中,有几种最基础的图像滤波函数,cv2.blur(),cv2.GaussianBlur(),cv2.medianBlur(),cv2.bilateralFiter() ,可以分别进行均值滤波、中值滤波、高斯滤波和双边滤波。

函数简介

1、blur—图像均值平滑滤波

函数原型:blur(src, ksize, dst=None, anchor=None, borderType=None)

src:图像矩阵

ksize:滤波窗口尺寸

2、GaussianBlur—图像高斯平滑滤波

函数原型:GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)

src:图像矩阵

ksize:滤波窗口尺寸

sigmaX:标准差

3、medianBlur—图像中值滤波

函数原型:medianBlur(src, ksize, dst=None)

src:图像矩阵

ksize:滤波窗口尺寸

4、bilateralFilter—图像双边滤波

函数原型:bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None)

src:图像矩阵

d:邻域直径

sigmaColor:颜色标准差

sigmaSpace:空间标准差


#中值滤波
import cv2
img=cv2.imread('E:/python_cv/01.jpg',1)
cv2.imshow('src',img)
dst=cv2.medianBlur(img,5)
cv2.imshow('dst',dst)
cv2.waitKey(0)
#均值滤波
import cv2
img=cv2.imread('E:/python_cv/01.jpg',1)
cv2.imshow('src',img)
dst=cv2.blur(img,(5,5))
cv2.imshow('dst',dst)
cv2.waitKey(0)
#高斯滤波
import cv2
img=cv2.imread('E:/python_cv/01.jpg',1)
cv2.imshow('src',img)
dst=cv2.GaussianBlur(img,(5,5),1.5)
cv2.imshow('dst',dst)
cv2.waitKey(0)
#高斯双边滤波
import cv2
img=cv2.imread('E:/python_cv/01.jpg',1)
cv2.imshow('src',img)
#后面两个数字:空间高斯函数标准差,灰度值相似性标准差
dst=cv2.bilateralFilter(img,15,35,35)
cv2.imshow('dst',dst)
cv2.waitKey(0)

多试几个ksize看看

import numpy as np
import cv2

image = cv2.imread('E:/python_cv/01.jpg',1)
cv2.imshow('src',img)
cv2.waitKey(0)

#均值滤波
blurred = np.hstack([cv2.blur(image,(3,3)),
                     cv2.blur(image,(5,5)),
                     cv2.blur(image,(7,7))
                     ])
cv2.imshow("Averaged",blurred)
cv2.waitKey(0)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值