DeepAIの英語版コンピュータビジョンの中からPyImageSearchを選んで
内容を見てみましたが、アメリカとかでは使えても日本対応に作り直すのに
相当の変更が必要
(英語だとアルファベットと数字だけ
しかし、日本語は更に平仮名、カタカナ、漢字や表記の仕方に違いがあります)
だと感じ
それなら最初から日本対応版コンピュータビジョンを学べば良いのでは
と考えました
まだ、具体的な形が見えている訳ではありませんが
取り敢えずトライしてみます
※注意点:Tesseract-OCR32bit版をインストールすること+インストール途中で
Aditional Languageに必ずチェックを入れること
+環境変数にTesseract-OCRのパスを通しておくこと
+pipでpyocrをインストールすること
コード
from PIL import Image
import pyocr
import pyocr.builders
# OCRエンジンの取得
tools = pyocr.get_available_tools()
tool = tools[0]
# 画像の読み込み
img_org = Image.open("./data/pyocr_test.jpg")
# OCRの実行
builder = pyocr.builders.TextBuilder()
result = tool.image_to_string(img_org, lang="jpn", builder=builder)
print(result)
結果
名 TURNER ELIZABETH
NAME
生年月日 1985年12月31 日 性別 女 下.国息・地域 米国
DATE OF BIRTH \ M D SEX NATIONALITY/REGION
生地 東京都千代田区世が関+ 丁目1番1 号松が関ハイツ2 02号
在久資格 留学
STATUS College
Student
在留期間 貫了有) の 、
PERIODOFSTW- =例年3月 《20.18年10月20日) 1
(DATE OF EXPIRATION) Y M ーー Y Ma Ng
許可の種 在久間更新許可 (東京入国管理局長) ⑫3VIOKの 見本・SAMPLE
話可年月日 2014年06月10日 交付年月日 2014年06月10晶
フィルター処理を行う
コード
import os
from PIL import Image
import pyocr
import pyocr.builders
# OCRエンジンの取得
tools = pyocr.get_available_tools()
tool = tools[0]
# 原稿画像の読み込み
img_org = Image.open("./data/pyocr_test.jpg")
img_rgb = img_org.convert("RGB")
pixels = img_rgb.load()
# 原稿画像加工(黒っぽい色以外は白=255,255,255にする)
c_max = 169
for j in range(img_rgb.size[1]):
for i in range(img_rgb.size[0]):
if (pixels[i, j][0] > c_max or pixels[i, j][1] > c_max or
pixels[i, j][0] > c_max):
pixels[i, j] = (255, 255, 255)
# OCR実行
builder = pyocr.builders.TextBuilder()
result = tool.image_to_string(img_rgb, lang="jpn", builder=builder)
print(result)
結果
日本国政府 在留カード 番号 AB12345678CD
GOVERNMENT OF JAPAN RESIDENCE CARD
氏名 TURNER ELIZABETH
NAME
生年月日 1985年12月31日 性別 女 F.国籍・地域 米国
DATE OF BIRTH ! M D SEX NATIONALITY/REGION
人半 東京都千代田区四が関1 丁目1番1号雪が関ハイツ2 02号
在万資格 留学
STATUS College
Student
就労制限の有無 就労不可
作留期間 (満了目)
PRiOD OF SNY 。 4年3月(2018年10月20昌) ーー
(DATE OF EXPIRATION) Y M Y 上 D
攻可の種類 在人期間更新許可 (東京入国管理局長) mmプー ュー ェュ]
トブ
喜可年月 2014年06月10日 交付年月日 本 1oH
このぁタードは 2018年10月20 です。 請務大ほ
PERIOD OF VALIDITY OF THIS まで