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 urlopen 使用小示例
Sep 06 Python
Python中使用Inotify监控文件实例
Feb 14 Python
在Python的Django框架上部署ORM库的教程
Apr 20 Python
在Python中操作文件之truncate()方法的使用教程
May 25 Python
详解python如何调用C/C++底层库与互相传值
Aug 10 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
基于python批量处理dat文件及科学计算方法详解
May 08 Python
Python实现的爬取百度贴吧图片功能完整示例
May 10 Python
python变量命名的7条建议
Jul 04 Python
python 读取更新中的log 或其它文本方式
Dec 24 Python
Python生成器实现简单"生产者消费者"模型代码实例
Mar 27 Python
Python 生成短8位唯一id实战教程
Jan 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中stdClass的用法分析
2015/02/27 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
JQquery的一些使用心得分享
2012/08/01 Javascript
javascript的回调函数应用示例
2014/02/20 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
基于JavaScript实现简单的轮播图
2021/03/03 Javascript
基于Django模板中的数字自增(详解)
2017/09/05 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
python模块导入的细节详解
2018/12/10 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
python检测服务器端口代码实例
2019/08/31 Python
详解Python实现进度条的4种方式
2020/01/15 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
财务管理专业推荐信
2013/11/19 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
上甘岭观后感
2015/06/10 职场文书
总结会主持词
2015/07/02 职场文书
如何用python反转图片,视频
2021/04/24 Python