파이썬 코드 구현 검증 코드 인식

파이썬 코드 구현 검증 코드 인식

시험 개발 커뮤니티   1 주 전

                                                                                                   

소스 / j_hao104  

I. 토론

그래픽 식별 코드는 컴퓨터 그래픽, 기계 학습, 머신 비전, 인공 지능 등 첨단 분야에 관련된 필수 파충류를 수행 말할 수있다 ......

간단히 말해, 컴퓨터 그래픽의 주요 문제를 공부하는 것이 얼마나 그래픽 표현의 관련 원칙뿐만 아니라 컴퓨터에서 컴퓨터 그래픽 컴퓨팅, 처리 및 알고리즘의 표시의 사용. 패턴은 전형적으로 점, 선,면 구성 등 기하학적 요소 계조는, 색상, 선 종류, 선 비 기하학적 특성을 두께. 이차원 그래픽 처리에 대체로 N 차원 형상에 관한 컴퓨터 처리의 테두리 영역 계산량 계산, 왜곡 보정을 구별한다. 그리고, 색 변환 컬러 공간, 컬러 그래픽, 셰이딩, 컬러 처리 등을 위해이 계산된다.

기술 처리에 사용되는 코드를 분해하기 위해 필요한 일반적으로 대략 2 차원 컬러 화소 그래픽 요소, 선,면 등을 분석한다. 일반적인 도구 :

  • 지원 벡터 기계 (SVM)

  • OpenCV의

  • 이미지 처리 소프트웨어 (포토샵, 김프 ...)

  • 파이썬 이미지 라이브러리

두, PIL 설치

PIL : 파이썬 이미징 라이브러리, 매우 강력한 이미지 프로세싱 플랫폼의 파이썬 표준 라이브러리.

APT으로 데비안 / Ubantu 리눅스에 직접 설치 :

$ sudo는 apt-get을 설치 파이썬 이미징

 

Max와 리눅스의 다른 버전이 easy_install을 또는 핍 설치를 직접 사용할 수있는 설치가 컴파일러 환경 설치해야합니다 :

$ sudo는 easy_install을 PIL

Windos 플랫폼은 PIL EXE 설치 패키지를 다운로드하는 공식 웹 사이트로 바로 이동할 수 있습니다. http://pythonware.com/products/pil/

참고 : 설치 패키지의 공식 웹 사이트는 다른 다운로드 패키지 베개 여기 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pillow 이동 32 비트, 64 비트 시스템을 제공 할 수 있습니다.

셋째, 일반적인 생각

로 식별 일반 아이디어 코드 :

1, 포토 소음 감소

2 절단 사진

(3), 출력 이미지 텍스트

3.1 사진 노이즈 감소

소위 노이즈 감소 등의 배경 광고의 간섭, 방해 화소로서, 모든 불필요한 정보를 제거하는 유일한 화상 가장 바이너리 격자가되도록, 텍스트를 식별해야한다.

배경색 기호는 각 화소가 5 차원으로 배치 될 수 있으며, 크기는 5, X, Y, R, G, B, 즉, 픽셀 좌표 및 컬러 컴퓨터 그래픽은 , 색 공간의 각 차원이 동일하지 않은 CYMK 인쇄용 비교적 드문 HSL 또는 HSV 존재하지만, 방정식에 의해 서로 변환 될 수있는, 같은 가장 일반적으로 사용되는 RGB 많은 색 공간이있다. RGB 색상 공간을 잘 구별 할 수에서는, HSV 색 공간 또는 HSL로 변환 할 수 있습니다. http://baike.baidu.com/view/3427413.htm 색 공간을 참조하십시오

CAPTCHA 이미지 7039.jpg :

1. 이미지 가져 오기 패키지, 사진을 엽니 다

PIL 가져 오기 이미지에서

IM = Image.open ( '7039.jpg')

 

도 2를 참조하면, 그레이 스케일 화상으로 컬러 화상. HSI 컬러 공간의 I 구성 요소를 사용하여 RBG 변환 :

imgry im.convert = ( 'L')

imgry.show ()

그라데이션은 다음과 같습니다 :

3 치화 처리

이진화 영상 분할을위한 일반적으로 사용되는 방법이다. 특정 문턱 계조 값보다 이진화 이미지의 픽셀 그레이 계조 값이 최대로 설정되면, 화소의 계조 값함으로써 (이진화를 달성 계조의 최소의 값보다도 작은 일반적으로) 0-1로 설정합니다. 선택된 임계 값에 따라 이진화 알고리즘은 현재 선택된 고정 임계 비교적 간단한 고정 임계 적응 임계 값으로 나뉜다.

화소 집합 A가 0으로 설정되고, 임계 값보다 작은 임계 값보다 크다. 조회 테이블을 생성 한 다음 점 () 매핑을 호출합니다.

임계 값 = 140

표 = []

범위 (256)에 대한 I :

    내가 임계 값을 <경우 :

        table.append (0)

    그밖에:

        table.append (1)

아웃 imgry.point = (테이블, '1')

out.show ()

 

처리 결과는 다음과 같다 :

3.2 사진 절단

키 식별 코드 어려움은 구글 검증 코드와 같은 색상의 단락 문자 문자의 성공을 완전히 차단 문자, 현재 5 % 이상 인식률을 할 수 있다는 것입니다. 구글 인증 코드가 있지만, 인간의 인식 속도의 실질적으로 30 %. 코드의 예는 식별 비교적 쉽게, 여기에 사용. HTTP : //www.cnblogs.com/apexchu/p/4231041.html이 블로그를 참조 잘라 방법에 대한 그림을 잘라 수 없습니다

구현 인식 모듈 pytesser의 넷째, 사용

pytesser OCR은 모듈 구글 오픈 소스 프로젝트, 텍스트로 이미지에 텍스트를 변환 할 수 있습니다 파이썬에서이 모듈을 가져올 것입니다.

링크 : HTTPS : //code.google.com/p/pytesser/

pytesser는 정팔 포체을했다. 파이썬에서 전화 pytesser 모듈은 pytesser도 정팔 포체 이미지에 포함 된 텍스트를 식별하는 데 사용.

4.1 pytesser 설치

  • HTTP : //www.pythonware.com/products/pil/ 당신이 PIL를 설치하지 않은 경우, 다운로드 및 설치 여기

  • 설치 pytesser, 다운로드 주소 : HTTP : //code.google.com/p/pytesser/은 다운로드 후 다음 항목 코드에 직접 추출하거나하는 Libsite-패키지를 파이썬 설치 디렉토리를 추출하고 경로에 추가 모듈을 가져올 때 환경 변수, 또는 잘못.

  • HTTP를 : : 정팔 포체 OCR 엔진을 다운로드 //code.google.com/p/tesseract-ocr/, 다운로드, 압축 해제, 사용할 수 있습니다 pytesser 폴더 후 tessdata 파일의 압축 해제를 대체 tessdata 폴더를 찾을 수 있습니다.

  • 우리는 PIL 이미지에서 라이브러리하게된다 또한 경우에 필요하므로 PIL 가져 오기 이미지 변경, 이미지 모듈은 pytesser 폴더에 새 __init__.py을 만들 필요 다음으로 가져 오기 이미지를 pytesser.py하기 위해 사용되지 않습니다 빈 파일.

PS : 당신은 두 단계를 다시 번잡 한 느낌이 경우, 디스크가 2 단계로, 클라우드 http://yun.baidu.com/s/1jHJvNiI에 직접 작업을 다운로드 할 수 있습니다.

4.2 통화 pytesser 인식

pytesser 두 화상 식별 방법을 제공하며, 다음과 같이 화상 오브젝트의 주소를, 코드가 결정된다 :

PIL 가져 오기 이미지에서

pytesser 수입 pytesser에서

화상을 Image.open = ( '7039.jpg')

인쇄 pytesser.image_file_to_string ( '7039.jpg')

인쇄 pytesser.image_to_string (이미지)

한편 pytesser 또한 중국어 등 다른 언어의 식별을 지원합니다. 세부 사항을 참조하십시오 : HTTP : //blog.csdn.net/hk_jh/article/details/8961449

-종료-

재판 면책 조항 :에서 가져온이 문서 "j_hao104."

추천

출처www.cnblogs.com/finer/p/11261836.html