Python 实现中值滤波、均值滤波的方法


Posted in Python onJanuary 09, 2019

红包:

Python 实现中值滤波、均值滤波的方法

Lena椒盐噪声图片:

Python 实现中值滤波、均值滤波的方法

# -*- coding: utf-8 -*-
"""
Created on Sat Oct 14 22:16:47 2017

@author: Don
"""

from tkinter import *
from skimage import io
import numpy as np


im=io.imread('lena_sp.jpg', as_grey=True)
im_copy_med = io.imread('lena_sp.jpg', as_grey=True)
im_copy_mea = io.imread('lena_sp.jpg', as_grey=True)
#io.imshow(im)
for i in range(0,im.shape[0]):
 for j in range(0,im.shape[1]):
  im_copy_med[i][j]=im[i][j]
  im_copy_mea[i][j]=im[i][j]
#ui
root = Tk()
root.title("lena")
root.geometry('300x200')

medL = Label(root, text="中值滤波:")
medL.pack()
med_text = StringVar()
med = Entry(root, textvariable = med_text)
med_text.set("")
med.pack()

meaL = Label(root, text="均值滤波:")
meaL.pack()
mea_text = StringVar()
mea = Entry(root, textvariable = mea_text)
mea_text.set("")
mea.pack()

def m_filter(x, y, step):
 sum_s=[]
 for k in range(-int(step/2),int(step/2)+1):
  for m in range(-int(step/2),int(step/2)+1):
   sum_s.append(im[x+k][y+m])
 sum_s.sort()
 return sum_s[(int(step*step/2)+1)]

def mean_filter(x, y, step):
 sum_s = 0
 for k in range(-int(step/2),int(step/2)+1):
  for m in range(-int(step/2),int(step/2)+1):
   sum_s += im[x+k][y+m] / (step*step)
 return sum_s

def on_click():
 if(med_text):
  medStep = int(med_text.get())
  for i in range(int(medStep/2),im.shape[0]-int(medStep/2)):
   for j in range(int(medStep/2),im.shape[1]-int(medStep/2)):
    im_copy_med[i][j] = m_filter(i, j, medStep)
 if(mea_text):
  meaStep = int(mea_text.get())
  for i in range(int(meaStep/2),im.shape[0]-int(meaStep/2)):
   for j in range(int(meaStep/2),im.shape[1]-int(meaStep/2)):
    im_copy_mea[i][j] = mean_filter(i, j, meaStep)
 io.imshow(im_copy_med)
 io.imsave(str(medStep) + 'med.jpg', im_copy_med)
 io.imshow(im_copy_mea)
 io.imsave(str(meaStep) + 'mea.jpg', im_copy_mea)

Button(root, text="filterGo", command = on_click).pack()

root.mainloop()

运行结果截图:

Python 实现中值滤波、均值滤波的方法

以上这篇Python 实现中值滤波、均值滤波的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
零基础写python爬虫之爬虫的定义及URL构成
Nov 04 Python
浅要分析Python程序与C程序的结合使用
Apr 07 Python
python 链接和操作 memcache方法
Mar 04 Python
微信跳一跳自动运行python脚本
Jan 08 Python
Python查看微信撤回消息代码
Jun 07 Python
python cs架构实现简单文件传输
Mar 20 Python
python plotly绘制直方图实例详解
Jul 22 Python
Django urls.py重构及参数传递详解
Jul 23 Python
Python (Win)readline和tab补全的安装方法
Aug 27 Python
Python迭代器iterator生成器generator使用解析
Oct 24 Python
手把手教你进行Python虚拟环境配置教程
Feb 03 Python
Python tensorflow卷积神经Inception V3网络结构
May 06 Python
对Python信号处理模块signal详解
Jan 09 #Python
使用python实现语音文件的特征提取方法
Jan 09 #Python
对python中Librosa的mfcc步骤详解
Jan 09 #Python
Python中的枚举类型示例介绍
Jan 09 #Python
利用python提取wav文件的mfcc方法
Jan 09 #Python
Python Matplotlib库安装与基本作图示例
Jan 09 #Python
对Python使用mfcc的两种方式详解
Jan 09 #Python
You might like
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
php阳历转农历优化版
2016/08/08 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
Javascript之文件操作
2007/03/07 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
JS查找字符串中出现最多的字符及个数统计
2017/02/04 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
简单谈谈Python流程控制语句
2016/12/04 Python
Python检查ping终端的方法
2019/01/26 Python
Flask框架学习笔记之使用Flask实现表单开发详解
2019/08/12 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
python 计算方位角实例(根据两点的坐标计算)
2020/01/17 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
学前教育毕业生自荐信
2013/10/29 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
电话营销开场白
2015/05/29 职场文书
《司马光》教学反思
2016/02/22 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
go语言中GOPATH GOROOT的作用和设置方式
2021/05/05 Golang
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS