前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python代码实现图片噪声去除

python代码实现图片噪声去除

作者头像
IT派
发布2018-07-30 11:48:59
2K0
发布2018-07-30 11:48:59
举报
文章被收录于专栏:IT派IT派

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

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

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

  1. 将图片通过眼睛传入脑神经元
  2. 找到图片中明亮连续的色块,作为图片中突出要表达的信息,去除杂乱的线条干扰
  3. 对突出的信息模块识别

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

代码语言:javascript
复制
#!/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:  < p="">
            table.append(0)  
        else:  
            table.append(1)  
    bim=lim.point(table,'1')  
    bim.save('2.png')  
two_value()  

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT派 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档