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多进程同步Lock、Semaphore、Event实例
Nov 21 Python
使用IronPython把Python脚本集成到.NET程序中的教程
Mar 31 Python
python中self原理实例分析
Apr 30 Python
Python 文件处理注意事项总结
Apr 10 Python
python实现随机梯度下降法
Mar 24 Python
详解Python中正则匹配TAB及空格的小技巧
Jul 26 Python
Python Django Cookie 简单用法解析
Aug 13 Python
如何安装2019Pycharm最新版本(详细教程)
Sep 26 Python
使用python实现画AR模型时序图
Nov 20 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
python爬虫scrapy基本使用超详细教程
Feb 20 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 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脚本数据库功能详解(上)
2006/10/09 PHP
默默小谈PHP&MYSQL分页原理及实现
2007/01/02 PHP
PHP的伪随机数与真随机数详解
2015/05/27 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
2019/04/10 PHP
Thinkphp极验滑动验证码实现步骤解析
2020/11/24 PHP
js压缩利器
2007/02/20 Javascript
jQuery select的操作实现代码
2009/05/06 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
2013/04/12 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
python使用RNN实现文本分类
2018/05/24 Python
在Python中定义一个常量的方法
2018/11/10 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
四下基层实施方案
2014/03/28 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
python使用glob检索文件的操作
2021/05/20 Python
Mysql中mvcc各场景理解应用
2022/08/05 MySQL