本文实例为大家分享了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手写均值滤波相关推荐

  1. python手写均值滤波器_python手写均值滤波

    本文实例为大家分享了python手写均值滤波的具体代码,供大家参考,具体内容如下 原理与卷积类似,设置一个n*n的滤波模板,滤波模板内的值累加除以模板的尺寸大小取平均为滤波后的值. 代码如下: imp ...

  2. 利用Python对MNIST手写数据集进行数字识别(初学者入门级)

    利用Python对MNIST手写数据集进行数字识别 一.编程环境Jupyter Notebook Jupyter Notebook,之前被称为IPython notebook,是一个交互式的Web应用 ...

  3. python识别手写文字_如何快速使用Python神经网络识别手写字符?(文末福利)

    原标题:如何快速使用Python神经网络识别手写字符?(文末福利) 点击标题下[异步社区]可快速关注 在本文中,我们将进一步探讨一些使用Python神经网络识别手写字符非常有趣的想法.如果只是想了解神 ...

  4. python手写代码面试_常见Python面试题—手写代码系列

    原标题:常见Python面试题-手写代码系列 1.如何反向迭代一个序列 #如果是一个list,最快的方法使用reverse tempList = [1,2,3,4] tempList.reverse( ...

  5. python手写代码面试_常见Python面试题 — 手写代码系列

    原标题:常见Python面试题 - 手写代码系列 作者: Peace & Love 来自:https://blog.csdn.net/u013205877/article/details/77 ...

  6. 如何识别手写文字python_如何快速使用Python神经网络识别手写字符?(文末福利)...

    ​点击标题下[异步社区]可快速关注 在本文中,我们将进一步探讨一些使用Python神经网络识别手写字符非常有趣的想法.如果只是想了解神经网络的基本知识,那不必阅读本文,可以先阅读<Python神 ...

  7. Python神经网络识别手写数字-MNIST数据集

    Python神经网络识别手写数字-MNIST数据集 一.手写数字集-MNIST 二.数据预处理 输入数据处理 输出数据处理 三.神经网络的结构选择 四.训练网络 测试网络 测试正确率的函数 五.完整的 ...

  8. python svm实现手写数字识别——直接可用

    python svm实现手写数字识别--直接可用 1.训练 1.1.训练数据集下载--已转化成csv文件 1.2 .训练源码 2.预测单张图片 2.1.待预测图像 2.2.预测源码 2.3.预测结果 ...

  9. C++手写均值滤波算法

    均值滤波的定义及效果 算术均值滤波器的定义很简单,我们假设滑动窗口大小是 3*3, 我们使用 3*3 的窗口在原始输入图片上进行滑动,每滑动一次就计算滑动窗口中 9 个像素的均值作为目标图像像素. 均 ...

最新文章

  1. Oracle 触发器 Update 不能操作本表的疑问
  2. 【文本分类】Recurrent Convolutional Neural Networks for Text Classification
  3. iphone刷基带_iphone7基带坏了怎么办,iphone7基带修复多少钱
  4. mysql错误:……is marked as crashed and should be repai
  5. Java 8 Friday:让我们弃用那些旧版库
  6. Apache FtpServer配置步骤总结
  7. 分类 迁移学习_迁移学习时间序列分类
  8. google支付接入PHP语言,PHP语言开发Paypal支付demo的具体实现
  9. linux--kubectl命令和docker命令
  10. Hibernate - Query简易
  11. iPhone各个机型屏幕尺寸
  12. java ftp 上传文件 无效_FTP文件上传失败Java
  13. 计算机科学 期刊 模板,计算机学报投稿模板.doc
  14. XGboost 出现UserWarning: Use subset (sliced data) of np.ndarray is not recommended
  15. 抗击疫情,程序员在家免费学这些!
  16. Postgresql 之 数据库认证
  17. SD卡CF卡U盘硬盘等磁盘属性显示为0字节怎么恢复数据
  18. 关于RSA加密后,后台解密中文乱码的解决方法
  19. 同一plan节点的targetlist和qual中是对同一var的指针吗?
  20. 视频压缩在线网站,视频压缩在线压缩,视频压缩在线使用,在线压缩视频大小

热门文章

  1. React:JSX 深入
  2. 和菜鸟一起学linux之V4L2摄像头应用流程【转】
  3. 或许是比力扣 leetcode 更好的选择?推荐两个编程算法宝藏网站
  4. php運行環境,php運行環境搭建!!!
  5. PC-如何禁用 Cookie
  6. 短信自动服务器 同步上传发送,Flyme里这几项逆天的云服务,你真的全用过?
  7. flex 发送到java_(转)java与flex通信
  8. [转]苦逼男和女神之间的经典对话,亲身经历过的有木有啊,必须转。。。
  9. Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.7:resources
  10. 通过DBLINK跨数据库查询,同步创建表结构,插入表数据