受光照、气候、成像设备等因素的影响,灰度化后的图像存在噪声和模糊干扰,直接影响到下一步的文字识别,因此,需要对图像进行增强处理。图片预处理中重要一环就是椒盐去澡,通常用到中值滤波器进行处理,效果很好。中值滤波器是一种非线性滤波器,其基本原理是把数字图像中某点的值用其领域各点值的中值代替。

如求点[i,j]的灰度值计算方法为:

(1)按灰度值顺序排列[i,j]领域中的像素点;

(2)取排序像素集的中间值作为[i,j]的灰度值。中值滤波技术能有效抑制噪声。

直接上代码,希望给大家有帮助:

import numpy as np

import cv2

import tensorflow as tf

from PIL import Image

import os

import scipy.signal as signal

input_images = np.zeros((300, 300))

filename = "D:\字母图库\F\P80627-112853.jpg"

print(filename)

img = Image.open(filename).resize((300, 300)).convert('L')

width = img.size[0]

height = img.size[1]

for h in range(0, height):

for w in range(0, width):

if img.getpixel((h, w)) < 128:

input_images[w, h] = 0

else:

input_images[w, h] = 1

cv2.imshow("test1111", input_images)

data = signal.medfilt2d(np.array(img), kernel_size=3) # 二维中值滤波

for h in range(0, height):

for w in range(0, width):

if data[h][w] < 128:

input_images[w, h] = 0

else:

input_images[w, h] = 1

cv2.imshow("test2222", input_images)

data = signal.medfilt2d(np.array(img), kernel_size=5) # 二维中值滤波

for h in range(0, height):

for w in range(0, width):

if data[h][w] < 128:

input_images[w, h] = 0

else:

input_images[w, h] = 1

cv2.imshow("test3333", input_images)

cv2.waitKey(0)

以上这篇python 中值滤波,椒盐去噪,图片增强实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2019-12-17

python中值滤波去除椒盐噪声_python 中值滤波,椒盐去噪,图片增强实例相关推荐

  1. 中值滤波去除图像噪声的matlab程序

    中值滤波:基于排序理论的一种能有效抑制噪声的非线性信号处理技术. 方法:取含有基数(偶数会有半像素的差)个模板数据的滑动模板,对模板中的数据从小到大排序,取排在中间位置上的数据作为最终的处理结果. m ...

  2. python中def _init_是什么意思_Python中self和__init__的含义与使用

    原文地址https://blog.csdn.net/love666666shen/article/details/78189984 Python中的self 在Python中的类Class的代码中,常 ...

  3. python之33个关键字详解_Python 中的关键字 with 详解

    在 Python 2.5 中,with关键字被加入.它将常用的 try ... except ... finally ...模式很方便的被复用.看一个最经典的例子: with open('file.t ...

  4. python中字典和集合的区别_Python中字典和集合学习小结

    映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...

  5. python异常处理时所使用的保留字_Python中,下列哪个保留字不用于异常处理______________。_学小易找答案...

    [单选题]维持细胞生存所必需的最基本的基因是 ( ) [单选题]从体细胞克隆高等哺乳动物的成功说明了 ( ) [单选题]细胞决定与细胞分化的关系是 ( ) [多选题]一种类型的分化细胞转变成另-种类型 ...

  6. python中的列表是指针吗_Python中的指针——到底指什么(二)

    在 Python中的指针--到底指什么(一) 中,我们知道在Python的一切都是对象,变量其实是指向PyObject对象的名称,对不可变变量进行操作后,名称指向了另一个PyObject. 扣留对象 ...

  7. python中函数和类的区别_Python中函数和方法的区别

    简单总结: 与类和实例无绑定关系的function都属于函数(function): 与类和实例有绑定关系的function都属于方法(method). 首先摒弃错误认知:并不是类中的调用都叫方法 函数 ...

  8. python可变参数和关键字参数位置_python中函数的默认参数和可变长参数如何排列?...

    参数在python中总是通过赋值进行传递的.在默认情况下,参数是通过其位置进行匹配的,从左到右,而且必须精确的传递和函数头部参数名一样多的参数. 这种默认的传递方式很简单 def f(a,b,c): ...

  9. python中sys模块有什么用_Python中模块之sys的功能介绍

    argv 命令行参数 方法:sys.argv 返回值:list 例如:test1.py文件中有两句语句1.import sys 2.print(sys.argv) python test1.py 2 ...

最新文章

  1. 为应用程序增加文件压缩功能
  2. 堆栈 cookie 检测代码检测到基于堆栈的缓冲区溢出_WhatsApp缓冲区漏洞曝光 攻击者可通过MP4文件执行远程代码...
  3. java同时执行同一个方法吗_java 返回结果的同时执行另一个方法
  4. jsoncpp 库的使用方法
  5. 关于exchange2003使用owa修改用户口令
  6. The 2018 ACM-ICPC上海大都会赛 J Beautiful Numbers (数位DP)
  7. 折扇的保养方法是什么?
  8. JS随机打乱数组的方法小结
  9. MapGIS10.3Desktop64位学习版带安装教程
  10. Centos7使用docke搭建openV
  11. 视频播放性能优化-视频MOOV前置
  12. pstack 安装linux_linux下的进程堆栈查看工具pstack
  13. chinapay 新版php接口,php最新银联支付chinaPay,最新接口地址
  14. STM32F103VBT6 使用16M晶振和8M晶振 RCC设置有何不同?
  15. SAP MM批次管理(6)批次确定--大海
  16. PageHelper 自定义总数查询方案
  17. 还是觉得WinXP中Luna的Theme是经典啊!用了Royal不多会儿就疲劳了!
  18. 前端面试vue (上)
  19. PS处理图片被锁定无法编辑问题
  20. 创业项目融资PPT模板

热门文章

  1. 从家书到小票!看到海尔智家的转型是真的
  2. MySQL主从压_mysql主从配置
  3. mysql的错误代码1064_mysql错误代码之1064的解决方案
  4. php iso8601 gmt,如何使用PHP以iso 8601格式顯示日期
  5. 扩展源_视觉框架SimpleCV - 图像源
  6. HTML制作搞笑照片,40张创意搞笑的照片PS效果
  7. python写空气质量提醒_你所在的城市空气质量如何?用Python可视化分析空气质量...
  8. python 中的os.path.split()函数用法
  9. Python列表解析式,还支持异步?你知道吗?
  10. python文件读read()、readline()、readlines()对比