autoit でTesseract.au3 OCRを使う
Tesseract.au3
こちらからダウンロード
https://www.autoitscript.com/forum/topic/89542-tesseract-screen-ocr-udf/
使う前の準備
Tesseractのダウンロードインストール
https://memo.eightban.com/autoit/autoit-ocr
Tesseract.au3カスタマイズ
tesseract.exeの場所とパラメータを変えます
コードを追加
Global const $Tesseract_Exe_Path = “c:\app\Tesseract-OCR\tesseract.exe"
Global $tesseract_para = “"
func _TesseractparaSet($temp_para)
$tesseract_para = $temp_para
Return 1
EndFunc
コードの変更 3箇所
ShellExecuteWait($Tesseract_Exe_Path, $capture_filename & " " & $ocr_filename & " " & $tesseract_para, "", "", @SW_HIDE)
;; ShellExecuteWait(@ProgramFilesDir & “\Tesseract-OCR\tesseract.exe", $capture_filename & " " & $ocr_filename, “", “", @SW_HIDE)
メモ帳を使ったサンプル
#include <Tesseract.au3>
;
Global $tesseract_para1 = " --psm 3 --oem 1 -l jpn+eng"
;Global $tesseract_para1 = " --psm 3 --oem 1 -l jpn"
;Global $tesseract_para1 = " "
;Global $tesseract_para1 = " "
;Global $tesseract_para1 = " -c tessedit_char_whitelist=abcdefghijklmnopqrstuvwxyz0123456789 --psm 7 --oem 1 -l jpn"
Local $pid = Run('notepad.exe')
WinWait('[Class:Notepad]')
WinActivate('[Class:Notepad]')
WinWaitActive('[Class:Notepad]')
Send("test")
_TesseractparaSet($tesseract_para1)
$text1 = _TesseractScreenCapture()
$text2 = _TesseractWinCapture('[Class:Notepad]', "")
$text3 = _TesseractControlCapture('[Class:Notepad]', "","[CLASS:RichEditD2DPT; INSTANCE:1]")
$col = _TesseractWinFind("[Class:Notepad]", "", "Windows", 1, 0, "", 1, 2, 0, 0, 0, 0, 0)
MsgBox(0, "_TesseractScreenCapture", $text1,10)
MsgBox(0, "_TesseractWinCapture", $text2,10)
MsgBox(0, "_TesseractControlCapture", $text3,10)
MsgBox(0, "_TesseractWinFind", $col,10)
WinClose("[CLASS:Notepad]", "")
Send("{RIGHT}")
Send("{ENTER}")
こちらの関数を使うと画面を指定したりキャプチャーする画面のサイズを指定できます
ディスカッション
コメント一覧
まだ、コメントがありません