openCV—Python(9)—— 图像平滑与滤波

标签: python opencv
12人阅读 评论(0) 收藏 举报
分类:

一、函数简介

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:空间标准差

二、实例演练

1、图像均值平滑滤波

代码如下:

#encoding:utf-8

import numpy as np
import cv2

image = cv2.imread("H:\\img\\lena.jpg")
cv2.imshow("Original",image)
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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

结果如下:

原图像:

这里写图片描述

平画后的图像(从左到右窗口宽度依次为:3、5、7)

这里写图片描述

2、图像高斯平滑滤波

代码如下:

#encoding:utf-8

import numpy as np
import cv2

image = cv2.imread("H:\\img\\lena.jpg")
cv2.imshow("Original",image)
cv2.waitKey(0)

#高斯滤波
blurred = np.hstack([cv2.GaussianBlur(image,(3,3),0),
                     cv2.GaussianBlur(image,(5,5),0),
                     cv2.GaussianBlur(image,(7,7),0)
                     ])
cv2.imshow("Gaussian",blurred)
cv2.waitKey(0)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

结果如下:

原图像:

这里写图片描述

平画后的图像(从左到右窗口宽度依次为:3、5、7,标准差均为:0)

这里写图片描述

3、图像中值滤波

代码如下:

#encoding:utf-8

import numpy as np
import cv2

image = cv2.imread("H:\\img\\lena.jpg")
cv2.imshow("Original",image)
cv2.waitKey(0)

#中值滤波
blurred = np.hstack([cv2.medianBlur(image,3),
                     cv2.medianBlur(image,5),
                     cv2.medianBlur(image,7)
                     ])
cv2.imshow("Median",blurred)
cv2.waitKey(0)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

结果如下:

原图像:

这里写图片描述

平画后的图像(从左到右窗口宽度依次为:3、5、7)

这里写图片描述

4、图像双边滤波

代码如下:

#encoding:utf-8

import numpy as np
import cv2

image = cv2.imread("H:\\img\\lena.jpg")
cv2.imshow("Original",image)
cv2.waitKey(0)

#双边滤波
blurred = np.hstack([cv2.bilateralFilter(image,5,21,21),
                     cv2.bilateralFilter(image,7, 31, 31),
                     cv2.bilateralFilter(image,9, 41, 41)
                     ])
cv2.imshow("Bilateral",blurred)
cv2.waitKey(0)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

结果如下:

原图像:

这里写图片描述

平画后的图像(相关参数意义,请参考上述函数原型中的解释)

这里写图片描述

查看评论

简单邮件传输协议SMTP封装类

简单邮件传输协议SMTP封装类作者:Asif Rasheed 翻译:刘建强 在Internet上,Email是最流行的传输媒体。这篇文章包括两个协议:. POP 3 协议: POP3协议(邮政传输协议...
  • ghj1976
  • ghj1976
  • 2001-08-22 18:15:00
  • 1423

openCV—Python(9)—— 图像平滑与滤波

一、函数简介1、blur—图像均值平滑滤波函数原型:blur(src, ksize, dst=None, anchor=None, borderType=None)src:图像矩阵ksize:滤波窗口...
  • jnulzl
  • jnulzl
  • 2015-08-18 15:07:40
  • 4837

Python+OpenCV学习(3)---图像平滑滤波

利用python学习OpenCV,个人感觉比较方便。函数的形式与C++基本相同,所以切换过来还是比较好的,对于像我这种对python不太熟练的人,使用python的集成开发环境PyCharm进行学习,...
  • FireMicrocosm
  • FireMicrocosm
  • 2015-09-06 21:07:22
  • 2029

opencv python 5 平滑滤波

opencv python 5 平滑滤波2D卷积opencv提供了cv2.filter2D()函数来对图像进行卷积操作(图像滤波)。 第1个参数为输入图像,第2个参数为输出图像深度,-1为与原图相同,...
  • super_chicken
  • super_chicken
  • 2017-11-30 09:37:48
  • 158

OpenCV-Python—图像平滑和模糊

  • NOT_GUY
  • NOT_GUY
  • 2017-10-03 11:13:26
  • 330

OpenCV对图像做简单处理——平滑滤波

首先必须知道几个关键函数——cvLoadImage,cvCreateImage和cvSmooth。一、主要函数的简单介绍1.1 cvLoadImage 函数功能:把图片加载到内存中 函数原型:...
  • embedclub_LYF
  • embedclub_LYF
  • 2015-02-06 13:47:03
  • 4241

Python下opencv使用笔记(五)(图像的平滑与滤波)

对于图形的平滑与滤波,但从滤波角度来讲,一般主要的目的都是为了实现对图像噪声的消除,增强图像的效果。 首先介绍二维卷积运算,图像的滤波可以看成是滤波模板与原始图像对应部分的的卷积运算。关于卷积运算,...
  • on2way
  • on2way
  • 2015-07-10 11:31:32
  • 19901

基于OpenCV平滑图像

基于OpenCV平滑图像也就是图像模糊,本博文介绍使用OpenCV的不同函数通过线性滤波进行图像平滑。 cv::blur cv::GaussianBlur (高斯模糊) cv::medianBlur...
  • Real_Myth
  • Real_Myth
  • 2016-11-07 23:48:16
  • 830

OpenCV入门:简单图像处理实例——平滑滤波

本文简单举一个图像平滑滤波的例子,以此认识OpenCV为我们提供的强大图像处理功能。...
  • huanglu_thu13
  • huanglu_thu13
  • 2016-03-21 13:24:41
  • 1199

MATLAB图像平滑与滤波实验

一、实验题目 1.      拍摄的含有正弦波(ref1.bmp, obj1.bmp)和三角波条纹(T20r1.bmp, T20o1.bmp)投影图像 2.      对图像进行滤波去除噪声,噪...
  • DaveBobo
  • DaveBobo
  • 2016-05-29 22:15:06
  • 5134
    个人资料
    等级:
    访问量: 316
    积分: 196
    排名: 107万+
    文章存档