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的collections模块中的OrderedDict有序字典
Jul 07 Python
一文总结学习Python的14张思维导图
Oct 17 Python
matplotlib调整子图间距,调整整体空白的方法
Aug 03 Python
在python中实现对list求和及求积
Nov 14 Python
python脚本执行CMD命令并返回结果的例子
Aug 14 Python
Python实现CNN的多通道输入实例
Jan 17 Python
浅谈Python中文件夹和python package包的区别
Jun 01 Python
Python smtp邮件发送模块用法教程
Jun 15 Python
Python中常见的导入方式总结
May 06 Python
浅谈Python基础之列表那些事儿
May 11 Python
关于Numpy之repeat、tile的用法总结
Jun 02 Python
Python实现Excel文件的合并(以新冠疫情数据为例)
Mar 20 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缓存类实例
2014/07/18 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
javascript Array对象基础知识小结
2010/11/16 Javascript
JavaScript.The.Good.Parts阅读笔记(二)作用域&amp;闭包&amp;减缓全局空间污染
2010/11/16 Javascript
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
js判断变量初始化的三种形式及推荐用的形式
2014/07/22 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
Python中处理unchecked未捕获异常实例
2015/01/17 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
python实现音乐下载器
2018/04/15 Python
python之信息加密题目详解
2019/06/26 Python
Python多进程编程常用方法解析
2020/03/26 Python
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
劳动竞赛活动方案
2014/02/20 职场文书
小学家长学校培训材料
2014/08/24 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫