opencv+python实现均值滤波


Posted in Python onFebruary 19, 2020

本文实例为大家分享了opencv+python实现均值滤波的具体代码,供大家参考,具体内容如下

原理

均值滤波其实就是对目标像素及周边像素取平均值后再填回目标像素来实现滤波目的的方法,当滤波核的大小是3×3 3\times 33×3时,则取其自身和周围8个像素值的均值来代替当前像素值。
均值滤波也可以看成滤波核的值均为 1 的滤波。
优点:算法简单,计算速度快;
缺点:降低噪声的同时使图像产生模糊,特别是景物的边缘和细节部分。

代码

import cv2 as cv
import numpy as np
import math
import copy

def spilt( a ):
 if a/2 == 0:
  x1 = x2 = a/2
 else:
  x1 = math.floor( a/2 )
  x2 = a - x1
 return -x1,x2

def original (i, j, k,a, b,img):
 x1, x2 = spilt(a)
 y1, y2 = spilt(b)
 temp = np.zeros(a * b)
 count = 0
 for m in range(x1, x2):
  for n in range(y1, y2):
   if i + m < 0 or i + m > img.shape[0] - 1 or j + n < 0 or j + n > img.shape[1] - 1:
    temp[count] = img[i, j, k]
   else:
    temp[count] = img[i + m, j + n, k]
   count += 1
 return temp

def average_function(a , b ,img):
 img0 = copy.copy(img)
 for i in range (0 , img.shape[0] ):
  for j in range (2 ,img.shape[1] ):
   for k in range (img.shape[2]):
    temp = original(i, j, k, a, b, img0)
    img[i,j,k] = int ( np.mean(temp))
 return img 
 
def main():
 img0 = cv.imread(r"noise.jpg")

 ave_img = average_function( 3 , 3, copy.copy(img0) ) #(3,3)滤波器大小 

 cv.imshow("ave_img",ave_img) 
 cv.imshow("original",img0)

 cv.waitKey(0)
 cv.destroyAllWindows()

if __name__ == "__main__":
 main()

样例

原图:

opencv+python实现均值滤波

滤波核为3×3 3\times 33×3的均值滤波后:

opencv+python实现均值滤波

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现去除下载电影和电视剧文件名中的多余字符的方法
Sep 23 Python
用Python编写web API的教程
Apr 30 Python
pymongo为mongodb数据库添加索引的方法
May 11 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
pandas 快速处理 date_time 日期格式方法
Nov 12 Python
Python如何获得百度统计API的数据并发送邮件示例代码
Jan 27 Python
pycharm 批量修改变量名称的方法
Aug 01 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
python对文件的操作方法汇总
Feb 28 Python
Django model.py表单设置默认值允许为空的操作
May 19 Python
Python中常见的导入方式总结
May 06 Python
python手写均值滤波
Feb 19 #Python
pytorch实现CNN卷积神经网络
Feb 19 #Python
python+opencv3生成一个自定义纯色图教程
Feb 19 #Python
Python 实现Image和Ndarray互相转换
Feb 19 #Python
python3+opencv生成不规则黑白mask实例
Feb 19 #Python
使用celery和Django处理异步任务的流程分析
Feb 19 #Python
Python Numpy,mask图像的生成详解
Feb 19 #Python
You might like
一个简单的PHP投票程序源码
2007/03/11 PHP
php 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
在PHP中使用redis
2013/11/04 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
在JavaScript中使用timer示例
2014/05/08 Javascript
javascript验证身份证号
2015/03/03 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
[45:14]Optic vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
Python入门之modf()方法的使用
2015/05/15 Python
Python实现excel转sqlite的方法
2017/07/17 Python
Python快速排序算法实例分析
2017/11/29 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
Python求离散序列导数的示例
2019/07/10 Python
python实现PID算法及测试的例子
2019/08/08 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
戴尔英国官网:Dell英国
2017/05/27 全球购物
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
2014流动人口计划生育工作总结
2014/12/20 职场文书
西湖英语导游词
2015/02/06 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL