LoginSignup
1
1

More than 1 year has passed since last update.

CAPTCHA画像の文字をOCRエンジンで読み取ることができるか

Last updated at Posted at 2021-08-03

目的

  • OCRを勉強中、下記のようなCAPTCHA画像の文字を読み取ることができるか気になったので試してみました

captcha.png

環境

  • Python 3.8
  • PyOCR
  • Tesseract ※下記の記事を参考に導入しました。ありがとうございました。

コード

from PIL import Image
import sys
import pyocr
import pyocr.builders

# OCR群を取得
tools = pyocr.get_available_tools()
# OCRがなければエラー
if len(tools) == 0:
    print("No OCR tool found")
    sys.exit(1)

# OCRはTesseractしか入れていないため、先頭の要素にTesseractが入っている
tool = tools[0]
print("Will use tool '%s'" % (tool.get_name()))

# 画像から文字を抽出
txt = tool.image_to_string(
    Image.open("画像のパスを記載"),
    # tesseract_layoutの設定値については、下記リンク参照
    # http://tanaken-log.blogspot.com/2012/08/imagemagick-tesseract.html
    builder=pyocr.builders.TextBuilder(tesseract_layout=6)
)
print(txt)

結果

  • 正確に読み取れたのはgのみ
tesseract_layout=6
Bg hes:
  • tesseract_layoutの設定を変えて試してみる
    • 下記以外の設定だと、そもそも何も読み取れなかった
tesseract_layout=5
Oo:
tesseract_layout=7
agit e's.
tesseract_layout=8
Bg tes.
tesseract_layout=9
BG WSs
tesseract_layout=10
agit e's.

結論

  • 自分が試してみた限り、CAPTHCA画像の文字を読み取ることはできなかった
  • 別のOCRエンジンなら可能性はあるのか?
  • そもそも、CAPTHCAってそういうもんですよね
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1