python手写均值滤波


Posted in Python onFebruary 19, 2020

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

原理与卷积类似,设置一个n*n的滤波模板,滤波模板内的值累加除以模板的尺寸大小取平均为滤波后的值。

代码如下:

import cv2 as cv
import numpy as np


#均值滤波
def meansBlur(src, ksize):
 '''
 :param src: input image
 :param ksize:kernel size
 :return dst: output image
 '''
 dst = np.copy(src) #创建输出图像
 kernel = np.ones((ksize, ksize)) # 卷积核
 padding_num = int((ksize - 1) / 2) #需要补0
 dst = np.pad(dst, (padding_num, padding_num), mode="constant", constant_values=0)
 w, h = dst.shape
 dst = np.copy(dst)
 for i in range(padding_num, w - padding_num):
  for j in range(padding_num, h - padding_num):
   dst[i, j] = np.sum(kernel * dst[i - padding_num:i + padding_num + 1, j - padding_num:j + padding_num + 1]) \
      // (ksize ** 2)
 dst = dst[padding_num:w - padding_num, padding_num:h - padding_num] #把操作完多余的0去除,保证尺寸一样大
 return dst


img_path = r"F:\03.png"
img = cv.imread(img_path,0)
dst = meansBlur(img,5)
cv.imshow('src',img)
cv.imshow('dst',dst)
print(dst)
cv.waitKey(0)

注释:红框表示两个for循环的范围,i - padding_num:i + padding_num + 1表示第i行上移padding_num行,下移padding_num,+1是因为list列表为左闭右开区间,右边的元素取不到值。padding表示周围填充一圈。

python手写均值滤波

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

Python 相关文章推荐
python dict remove数组删除(del,pop)
Mar 24 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
python中kmeans聚类实现代码
Feb 23 Python
python实践项目之监控当前联网状态详情
May 23 Python
用Anaconda安装本地python包的方法及路径问题(图文)
Jul 16 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
TensorFlow索引与切片的实现方法
Nov 20 Python
从numpy数组中取出满足条件的元素示例
Nov 26 Python
Python实现使用dir获取类的方法列表
Dec 24 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
Mar 27 Python
Python selenium如何打包静态网页并下载
Aug 12 Python
让你相见恨晚的十个Python骚操作
Nov 18 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
浅谈图像处理中掩膜(mask)的意义
Feb 19 #Python
You might like
PHP的FTP学习(一)[转自奥索]
2006/10/09 PHP
配置PHP使之能同时支持GIF和JPEG
2006/10/09 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
php fread读取文件注意事项
2016/09/24 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
javascript属性访问表达式用法分析
2015/04/25 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
基于Vue 服务端Cookies删除的问题
2018/09/21 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
Python基本数据类型详细介绍
2014/03/11 Python
python单例模式实例分析
2015/04/08 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
python实现简单的五子棋游戏
2020/09/01 Python
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
鲜果饮品店创业计划书
2014/01/21 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
高中家长寄语
2014/04/02 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python