python代码实现图片噪声去除

2018 年 5 月 18 日 凡人机器学习

点击蓝字关注这个神奇的公众号~


今天来给大家分享下怎么做图片的噪声去除。平时其实大家上网都能遇到这样的场景,就是输入讨厌验证码,怎么都输不对。验证码现在可以说是千奇百怪、分外妖娆,为啥要做成这样呢?就是因为对于这类图片的识别技术实在是太强了,弱一点的特征的验证码很容易被算法破解。今天给大家分享一个小tips,就是如何用一个最简单的算法解决图片噪音的问题,这也是图片OCR识别的第一步。


首先看下我们要处理的图片:


这张图是一个典型的验证码图片,里面有“KDQU”四个字母,也有后方很多的灰色线条干扰。首先思考一下,当我们的眼睛看到这张图的时候,你的大脑是如何对这几个字母进行识别的。过程大致是这样的:

  1. 将图片通过眼睛传入脑神经元

  2. 找到图片中明亮连续的色块,作为图片中突出要表达的信息,去除杂乱的线条干扰

  3. 对突出的信息模块识别


ok~基于这样的理论,我们来构建上述步骤2的去噪原理,首先可以获取整个图片的色素平均值,假设是V,色素值越大表示颜色越深,越小表示颜色越浅。然后遍历整个图片每一个色素点,当色素值>n,那么就把这个点画成黑色点,当色素点<n,就把这个点画成白色。代码放在这里:


#!/usr/bin/python2.7 

# -*- coding: utf-8 -*- 

from PIL import Image  

  

# 二值化处理  

def two_value():  

# 打开文件夹中的图片  

    image=Image.open('1.png')  

# 灰度图  

    lim=image.convert('L')  

# 灰度阈值设为165,低于这个值的点全部填白色  

    threshold=165  

    table=[]  

          

    for j in range(256):  

        if j<threshold:  

            table.append(0)  

        else:  

            table.append(1)  

  

    bim=lim.point(table,'1')  

    bim.save('2.png')  

  

two_value()  


感兴趣的同学可以玩一玩,效果的话如下图:


谢谢大家~Have a nice weekend!

你可以选择关注我

   也可以不关注

微信号:凡人机器学习

长按二维码关注




登录查看更多
13

相关内容

全自动区分计算机和人类的图灵测试(英语: Completely Automated Public Turing test to tell Computers and Humans Apart,简称 CAPTCHA),俗称 验证码,是一种区分用户是计算机和人的公共全自动程序。
Python图像处理,366页pdf,Image Operators Image Processing in Python
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【新书】Pro 机器学习算法Python实现,379页pdf
专知会员服务
198+阅读 · 2020年2月11日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
5大必知的图算法,附Python代码实现
AI100
4+阅读 · 2019年9月10日
手把手教你用Python实现“坦克大战”,附详细代码!
机器学习算法与Python学习
11+阅读 · 2019年6月8日
实战 | 用Python做图像处理(三)
七月在线实验室
15+阅读 · 2018年5月29日
OpenCV特征提取与图像检索实现(附代码)
Python | 50行代码实现人脸检测
计算机与网络安全
3+阅读 · 2018年1月23日
用 Python 和 OpenCV 检测图片上的条形码
Python开发者
5+阅读 · 2018年1月20日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
利用 TensorFlow 实现排序和搜索算法
机器学习研究会
5+阅读 · 2017年11月23日
Attend More Times for Image Captioning
Arxiv
6+阅读 · 2018年12月8日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
27+阅读 · 2018年4月12日
Arxiv
4+阅读 · 2018年3月14日
Arxiv
6+阅读 · 2018年3月12日
Arxiv
5+阅读 · 2018年3月6日
Arxiv
6+阅读 · 2018年1月14日
VIP会员
相关VIP内容
Python图像处理,366页pdf,Image Operators Image Processing in Python
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【新书】Pro 机器学习算法Python实现,379页pdf
专知会员服务
198+阅读 · 2020年2月11日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
相关资讯
5大必知的图算法,附Python代码实现
AI100
4+阅读 · 2019年9月10日
手把手教你用Python实现“坦克大战”,附详细代码!
机器学习算法与Python学习
11+阅读 · 2019年6月8日
实战 | 用Python做图像处理(三)
七月在线实验室
15+阅读 · 2018年5月29日
OpenCV特征提取与图像检索实现(附代码)
Python | 50行代码实现人脸检测
计算机与网络安全
3+阅读 · 2018年1月23日
用 Python 和 OpenCV 检测图片上的条形码
Python开发者
5+阅读 · 2018年1月20日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
利用 TensorFlow 实现排序和搜索算法
机器学习研究会
5+阅读 · 2017年11月23日
相关论文
Attend More Times for Image Captioning
Arxiv
6+阅读 · 2018年12月8日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
27+阅读 · 2018年4月12日
Arxiv
4+阅读 · 2018年3月14日
Arxiv
6+阅读 · 2018年3月12日
Arxiv
5+阅读 · 2018年3月6日
Arxiv
6+阅读 · 2018年1月14日
Top
微信扫码咨询专知VIP会员