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展示动态规则法用以解决重叠子问题的示例
Apr 02 Python
Python中关于字符串对象的一些基础知识
Apr 08 Python
python 的列表遍历删除实现代码
Apr 12 Python
python3实现ftp服务功能(客户端)
Mar 24 Python
pandas 透视表中文字段排序方法
Nov 16 Python
python采集微信公众号文章
Dec 20 Python
浅谈PYTHON 关于文件的操作
Mar 19 Python
python实现视频分帧效果
May 31 Python
Django网络框架之创建虚拟开发环境操作示例
Jun 06 Python
K最近邻算法(KNN)---sklearn+python实现方式
Feb 24 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
Sep 29 Python
Python使用scapy模块发包收包
May 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
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
JS脚本defer的作用示例介绍
2014/01/02 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
解决vue 按钮多次点击重复提交数据问题
2018/05/10 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
numpy数组之存取文件的实现示例
2019/05/24 Python
我就是这样学习Python中的列表
2019/06/02 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
Django调用百度AI接口实现人脸注册登录代码实例
2020/04/23 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
前台接待员岗位职责
2014/01/02 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
Mysql中mvcc各场景理解应用
2022/08/05 MySQL
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL