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实现简单的TCP代理服务器
Oct 08 Python
Python中的字典遍历备忘
Jan 17 Python
Python实现类的创建与使用方法示例
Jul 25 Python
python中scikit-learn机器代码实例
Aug 05 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
Aug 18 Python
使用 Python 读取电子表格中的数据实例详解
Apr 17 Python
Python中socket网络通信是干嘛的
May 27 Python
Django解决frame拒绝问题的方法
Dec 18 Python
ASP.NET Core中的配置详解
Feb 05 Python
python中@contextmanager实例用法
Feb 07 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实现linux命令tail -f
2016/02/22 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
在Javascript中 声明时用"var"与不用"var"的区别
2013/04/15 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
python模拟鼠标拖动操作的方法
2015/03/11 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
港湾网络笔试题
2014/04/19 面试题
高中生自我评语大全
2014/01/19 职场文书
简历里的自我评价
2014/01/31 职场文书
2014年机关植树节活动方案
2014/02/27 职场文书
关于学习的演讲稿
2014/05/10 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript
欧元符号 €
2022/02/17 杂记