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的keyword模块用法实例分析
Jun 30 Python
Python聊天室实例程序分享
Jan 05 Python
Python栈算法的实现与简单应用示例
Nov 01 Python
用Python实现KNN分类算法
Dec 22 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
Python3模拟登录操作实例分析
Mar 12 Python
python反编译学习之字节码详解
May 19 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 Python
Python编写打字训练小程序
Sep 26 Python
python安装本地whl的实例步骤
Oct 12 Python
Django跨域请求原理及实现代码
Nov 14 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
PHP实时显示输出
2008/10/02 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
基于JavaScript获取base64图片大小
2019/10/18 Javascript
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
甜品店创业计划书
2014/09/21 职场文书
2014年计生工作总结
2014/11/21 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
交通事故责任认定书
2015/08/06 职场文书
Python Pandas数据分析之iloc和loc的用法详解
2021/11/11 Python
OpenCV实现反阈值二值化
2021/11/17 Java/Android
Elasticsearch 基本查询和组合查询
2022/04/19 Python