验证码识别(python)

简介:
参考:
http://blog.csdn.net/lanphaday/archive/2007/10/28/1852726.aspx
http://www.zhuaxia.com/item/852269537

java
package  Main;

import  java.awt.image.BufferedImage;
import  java.net.URL;

import  javax.imageio.ImageIO;

public   class  Test {

    
public   static   void  main(String[] args)  throws  Exception {
        BufferedImage img 
=  ImageIO.read( new  URL( " file:/C:/src/python/gve/22.jpeg " ));
        
int  imgWith  =  img.getWidth();
        
int  imgHeight  =  img.getHeight();
        
int  bgint  =  img.getRGB( 0 0 );
        
for  ( int  y  =   0 ; y  <  imgHeight; y ++ ) {
            System.out.println();
            
for  ( int  x  =   0 ; x  <  imgWith; x ++ ) {
                System.out.print(getBit(img, x, y,bgint));
            }
        }
    }

    
private   static   char  getBit(BufferedImage img,  int  x,  int  y, int  bgint) {
        
int  intCurtColor;
        intCurtColor 
=  img.getRGB(x, y);
        
return  (intCurtColor  ==  bgint)  ?   ' 0 '  :  '   ' ;
    }
}

               000     000 0        0 00 0 0     0 0    
                        0 000      00 0 0 0      0  0     
             00 00      0  0 00       0    00   0 00 0    
           0000   0 0    0  0 0            0   00    0 0   
            00    0           0             0  00      0   
            00    0       00 0           0     00     0    
           0 0     0      0 0            0       00   0    
            00    00    0  0  0          0         0 00 0   
           0 0              0 00        0         0 0 0    
           0       00        0         0             0 00   
            0 0   00         0 0                      00   
             00   0           0      00 0        0  0 0     
               00  0   0 0  00       0 0          0 0 0    
               0 0      00 0 0        00          0000                                                            
python
# encoding=utf-8
import  Image,ImageEnhance,ImageFilter
import  sys

image_name 
=   " ./22.jpeg "

#去处 干扰点
im  =  Image.open(image_name)
im 
=  im.filter(ImageFilter.MedianFilter())
enhancer 
=  ImageEnhance.Contrast(im)
im 
=  enhancer.enhance( 2 )
im 
=  im.convert( ' 1 ' )

# im.show() #测试查看

=   12        # 启始 切割点 x
=   2         # 启始 切割点 y

=   10        # 切割 宽 +y
=   15        # 切割 长 +x

im_new 
=  []
for  i  in  range( 4 ):  # 验证码切割
    im1  =  im.crop((s + w * i + i * 2 ,t,s + w * (i + 1 ) + i * 2 ,h))
    im_new.append(im1)

# im_new[0].show()#测试查看

xsize, ysize 
=  im_new[0].size
gd 
=  []
for  i  in  range(ysize):
    tmp
= []
    
for  j  in  range(xsize):
        
if ( im_new[0].getpixel((j,i))  ==   255  ):
            tmp.append(
1 )
        
else :
            tmp.append(0)
    gd.append(tmp)

#看效果
for  i  in  range(ysize):
    
print  gd[i]
比如 "0" 
[ 1, 1,  0, 0, 0, 0,  1, 1, 1, 1 ]
[0, 0, 0, 0, 0, 0, 0,  1, 1, 1 ]
[0, 0, 0,  1, 1,  0, 0, 0, 0,  1 ]
[0, 0,  1, 1, 1, 1,  0, 0, 0,  1 ]
[0, 0,  1, 1, 1, 1,  0, 0, 0,  1 ]
[0, 0,  1, 1, 1, 1,  0, 0, 0,  1 ]
[0, 0,  1, 1, 1, 1,  0, 0, 0,  1 ]
[0, 0,  1, 1, 1, 1,  0, 0, 0,  1 ]
[0, 0,  1, 1, 1, 1,  0, 0, 0,  1 ]
[0, 0, 0,  1, 1, 1,  0, 0, 0,  1 ]
[0, 0, 0,  1, 1,  0, 0, 0, 0,  1 ]
[ 1 , 0, 0, 0, 0, 0, 0, 0,  1, 1 ]
[ 1, 1,  0, 0, 0, 0, 0,  1, 1, 1 ]

有时间 在学习下 匹配。

本文转自博客园刘凯毅的博客,原文链接:验证码识别(python),如需转载请自行联系原博主。

目录
相关文章
|
2月前
|
数据采集 机器学习/深度学习 安全
Python爬虫之极验滑动验证码的识别
了解极验滑动验证码、特点、识别思路、初始化、模拟点击、识别缺口、模拟拖动。
100 0
|
8月前
|
数据采集 文字识别 测试技术
Python3,这个库,真的是图片类型验证码的克星,真香。
Python3,这个库,真的是图片类型验证码的克星,真香。
52 0
|
2天前
|
数据采集 文字识别 测试技术
神器!使用Python 轻松识别验证码
本文介绍了使用Python进行验证码识别,主要包括安装Tesseract OCR和相关Python库,如`pytesseract`和`opencv-python`。通过Pillow加载验证码图片,使用`pytesseract`进行简单数字验证码识别。对于数字字母混合的验证码,先进行二值化和降噪处理,然后使用`cv2.findContours`分割字符并分别识别。这种方法适用于自动化测试和爬虫中的验证码处理。
16 2
|
7天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
python 数字验证码 自动识别
5月更文挑战第4天
20 3
|
2月前
|
数据采集 Web App开发 文字识别
Python爬虫之点触验证码的识别
点触验证码识别思路,初始化,获取,识别。
75 0
Python爬虫之点触验证码的识别
|
2月前
|
数据采集 文字识别 开发者
Python爬虫之图形验证码的识别
python爬虫逆向图形验证码分析,处理和测试实战。
60 0
|
2月前
|
机器学习/深度学习 人工智能 文字识别
Python常用验证码标注和识别(需求分析和实现思路)
Python常用验证码标注和识别(需求分析和实现思路)
66 0
|
2月前
|
存储 安全 JavaScript
使用Python的Flask框架开发验证码登录功能
使用Python的Flask框架开发验证码登录功能
39 0
|
8月前
|
机器人 UED Python
基于Python+Flask实现一个简易网页验证码登录系统案例
基于Python+Flask实现一个简易网页验证码登录系统案例
119 0
基于Python+Flask实现一个简易网页验证码登录系统案例
|
9月前
|
数据采集 算法 开发者
如何使用Python爬虫处理多种类型的滑动验证码
如何使用Python爬虫处理多种类型的滑动验证码