python手写均值滤波
作者:丹啊丹 时间:2022-03-16 20:53:19
本文实例为大家分享了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表示周围填充一圈。
来源:https://blog.csdn.net/qq_43631789/article/details/104379193
标签:python,均值滤波
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2023-08-06 07:51:43
设计高效的faq页面
2011-06-10 13:13:00
python读文件逐行处理的示例代码分享
2023-03-17 03:54:04
windows下python模拟鼠标点击和键盘输示例
2021-11-12 21:06:32
一空间多域名绑定不同目录方法
2009-03-09 18:32:00
亚马逊购物用户体验分析 (二)
2009-10-25 12:48:00
![](https://img.aspxhome.com/file/UploadPic/200910/25/look-inside-75s.jpg)
Python实战之实现获取动态图表
2023-10-31 14:03:34
![](https://img.aspxhome.com/file/2023/3/97703_0s.jpg)
python 定义类时,实现内部方法的互相调用
2023-11-20 11:09:31
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2022-08-13 06:54:59
![](https://img.aspxhome.com/file/2023/4/77864_0s.png)
redis不能访问本机真实ip地址的解决方案
2023-07-05 13:09:44
Python基于百度API识别并提取图片中文字
2023-02-06 13:51:25
![](https://img.aspxhome.com/file/2023/6/84946_0s.jpg)
python argparse 模块命令行参数用法及说明
2023-10-26 00:08:27
![](https://img.aspxhome.com/file/2023/7/102997_0s.png)
mysql数据表和数据表关联
2010-12-03 16:00:00
Python 绘图库 Matplotlib 入门教程
2021-07-21 00:22:07
![](https://img.aspxhome.com/file/2023/6/99166_0s.jpg)
PHP header()函数常用方法总结
2023-09-06 16:51:50
Python模拟登录12306的方法
2023-03-11 09:12:36
opencv3/python 鼠标响应操作详解
2022-10-11 09:29:52
![](https://img.aspxhome.com/file/2023/8/101588_0s.jpg)
python实现音乐播放和下载小程序功能
2023-07-03 17:59:03
![](https://img.aspxhome.com/file/2023/5/105855_0s.jpg)
轻松实现php文件上传功能
2023-11-17 04:34:12
![](https://img.aspxhome.com/file/2023/2/100032_0s.gif)
用WEB(ASP)方式实现SQL SERVER 数据库的备份和恢复
2010-05-11 20:12:00