python 图片去噪的方法示例


Posted in Python onJuly 09, 2019

图像可能在生成、传输或者采集过程中夹带了噪声,去噪声是图像处理中常用的手法。通常去噪声用滤波的方法,比如中值滤波、均值滤波。但是那样的算法不适合用在处理字符这样目标狭长的图像中,因为在滤波的过程中很有可能会去掉字符本身的像素。

一个采用的是去除杂点的方法来进行去噪声处理的。具体算法如下:扫描整个图像,当发现一个黑色点的时候,就考察和该黑色点间接或者直接相连接的黑色点的个数有多少,如果大于一定的值,那就说明该点不是离散点,否则就是离散点,把它去掉。在考察相连的黑色点的时候用的是递归的方法。此处,我简单的用python实现了,大家可以参考以下。

#coding=utf-8
"""
造物奇迹QQ2737499951
"""
import cv2
import numpy as np
from matplotlib import pyplot as plt
from PIL import Image,ImageEnhance,ImageFilter
 
img_name = 'test.jpg'
#去除干扰线
im = Image.open(img_name)
#图像二值化
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
data = im.getdata()
w,h = im.size
#im.show()
black_point = 0
for x in xrange(1,w-1):
  for y in xrange(1,h-1):
    mid_pixel = data[w*y+x] #中央像素点像素值
    if mid_pixel == 0: #找出上下左右四个方向像素点像素值
      top_pixel = data[w*(y-1)+x]
      left_pixel = data[w*y+(x-1)]
      down_pixel = data[w*(y+1)+x]
      right_pixel = data[w*y+(x+1)]
 
      #判断上下左右的黑色像素点总个数
      if top_pixel == 0:
        black_point += 1
      if left_pixel == 0:
        black_point += 1
      if down_pixel == 0:
        black_point += 1
      if right_pixel == 0:
        black_point += 1
      if black_point >= 3:
        im.putpixel((x,y),0)
      #print black_point
      black_point = 0
im.show()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python的Tornado框架结合memcached页面改善博客性能
Apr 24 Python
python获取从命令行输入数字的方法
Apr 29 Python
Python中常用操作字符串的函数与方法总结
Feb 04 Python
详解Python设计模式编程中观察者模式与策略模式的运用
Mar 02 Python
Python利用Beautiful Soup模块搜索内容详解
Mar 29 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
Mar 23 Python
python多继承(钻石继承)问题和解决方法简单示例
Oct 21 Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 Python
django中嵌套的try-except实例
May 21 Python
使用Python构造hive insert语句说明
Jun 06 Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 #Python
浅谈Python小波分析库Pywavelets的一点使用心得
Jul 09 #Python
python basemap 画出经纬度并标定的实例
Jul 09 #Python
python实现列表中最大最小值输出的示例
Jul 09 #Python
python实现基于朴素贝叶斯的垃圾分类算法
Jul 09 #Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 #Python
深入了解Python枚举类型的相关知识
Jul 09 #Python
You might like
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
深入PHP异步执行的详解
2013/06/03 PHP
php面向对象中的魔术方法中文说明
2014/03/04 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
javascript 类方法定义还是有点区别
2009/04/15 Javascript
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
JS记录用户登录次数实现代码
2014/01/15 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
2016/07/06 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
利用vue开发一个所谓的数独方法实例
2017/12/21 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
JS实现简单打字测试
2020/06/24 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
python使用socket向客户端发送数据的方法
2015/04/29 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
Python 在局部变量域中执行代码
2020/08/07 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
《记承天寺夜游》教学反思
2014/02/16 职场文书
《云房子》教学反思
2014/04/20 职场文书
外贸业务员求职信
2014/06/16 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
2015年药店店长工作总结
2015/04/29 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL