Tesseract OCR 5.5.1 の開発環境とツール等のインストールと動作確認(多言語の文字認識)(Windows 上)
【概要】
このページでは,Tesseract OCR 5.5.1 の開発環境とツール等のインストール,および多言語の文字認識の動作確認を行う.公式ページの手順に従う.【目次】
【関連する外部ページ】
公式ページ: https://github.com/tesseract-ocr/tessdoc
【サイト内の関連情報】
前準備
Build Tools for Visual Studio 2026(ビルドツール)のインストール
Build Tools for Visual Studio 2026(ビルドツール)のインストールを行い、C/C++ コードのビルド環境を整える。
Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。インストール済みの場合,この手順は不要である。 以下のコマンドは、Build Tools が未インストールの場合は winget で新規インストールし、インストール済みの場合は 【インストールコマンドの実行方法】 管理者権限でコマンドプロンプトを起動する(手順:Windows キーまたはスタートメニュー → 上記のコマンドでは、Build Tools 本体と Visual C++ 再頒布可能パッケージをインストールし、続いて以下のコンポーネントを追加している。 追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。 インストール完了の確認 Visual Studio を必要とするとき Visual Studio の機能を必要とする場合は,追加インストールできる。
管理者権限のコマンドプロンプトで以下を実行する.管理者権限は,winget の --scope machine オプションでシステム全体にインストールするために必要となる.
管理者権限のコマンドプロンプトで以下を実行する.管理者権限のコマンドプロンプトを起動するには,Windows キーまたはスタートメニューから「[Build Tools for Visual Studio 2026(ビルドツール)のインストール手順を見るには、ここをクリック]
Windows での Build Tools for Visual Studio 2026 のインストール
setup.exe modify でコンポーネントを追加する(バージョンは変更しない)。cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。REM ============================================================
REM Visual C++ 再頒布可能パッケージ (VCRedist 2015-)
REM ============================================================
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"
if not "%ERRORLEVEL%"=="0" ( color 0c & echo VCRedist のインストールに失敗しました & ping 127.0.0.1 -n 6 >nul & color )
REM ============================================================
REM Visual Studio Build Tools + Desktop development with C++
REM (VCTools、MSBuildTools、CMake連携、Clang、Windows 11 SDK)
REM ============================================================
REM 進行中のインストーラーを停止(ロック競合回避。対象プロセスが存在しない場合は
REM taskkillがエラーを返すが、これは想定内であるため出力のみ抑制する)
taskkill /F /IM vs_setup.exe /T >nul 2>&1
taskkill /F /IM vs_installer.exe /T >nul 2>&1
taskkill /F /IM vs_installerservice.exe /T >nul 2>&1
taskkill /F /IM msiexec.exe /T >nul 2>&1
REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
REM 未インストール時: winget で新規インストール
REM インストール済み時: setup.exe modify でコンポーネント追加(バージョンは変更しない)
winget list --id Microsoft.VisualStudio.BuildTools 2>nul | findstr /i "BuildTools" >nul 2>&1
if %ERRORLEVEL% EQU 0 (
for /f "usebackq delims=" %P in (`"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -property installationPath`) do start /wait "" "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify --installPath "%P" --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100 --add Microsoft.VisualStudio.Component.VC.v143.x86.x64 --includeRecommended --quiet --norestart --nocache
if not "%ERRORLEVEL%"=="0" ( color 0c & echo Build Tools のコンポーネント追加に失敗しました & ping 127.0.0.1 -n 6 >nul & color )
) else (
winget install --scope machine --id Microsoft.VisualStudio.BuildTools -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "--quiet --wait --norestart --nocache --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100 --add Microsoft.VisualStudio.Component.VC.v143.x86.x64"
if not "%ERRORLEVEL%"=="0" ( color 0c & echo Build Tools のインストールに失敗しました & ping 127.0.0.1 -n 6 >nul & color )
)
REM
REM BuildTools のインストールパスを vswhere.exe で取得(メジャーバージョンに依存しない)
set "VSWHERE=C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
set "BT_PATH="
for /f "usebackq delims=" %P in (`"%VSWHERE%" -products Microsoft.VisualStudio.Product.BuildTools -property installationPath`) do set "BT_PATH=%P"
if not defined BT_PATH ( color 0c & echo Build Tools のインストールパスを取得できませんでした & ping 127.0.0.1 -n 6 >nul & color )
REM 破損時の修復(任意、動作がおかしくなった場合)
REM if defined BT_PATH "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" repair --installPath "%BT_PATH%" --quiet --norestart
REM 導入確認(インストールパスが表示されれば正常)
"%VSWHERE%" -products * -requires Microsoft.VisualStudio.Workload.VCTools -property installationPath
--includeRecommended により、MSVC コンパイラ、C++ AddressSanitizer、vcpkg、CMake ツール、Windows 11 SDK 等の推奨コンポーネントが含まれる)winget list Microsoft.VisualStudio.BuildToolsGit のインストール(Windows 上) [クリックして展開]
REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/VERYSILENT /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /COMPONENTS=""icons,ext\reg\shellhere,assoc,assoc_sh"" /o:PathOption=Cmd /o:CRLFOption=CRLFCommitAsIs /o:BashTerminalOption=MinTTY /o:DefaultBranchOption=main /o:EditorOption=VIM /o:SSHOption=OpenSSH /o:UseCredentialManager=Enabled /o:PerformanceTweaksFSCache=Enabled /o:EnableSymlinks=Disabled /o:EnableFSMonitor=Disabled"
CMakeのインストール(Windows 上) [クリックして展開]
cmd」と入力し,表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する.REM CMake をシステム領域にインストール
winget install --scope machine --id Kitware.CMake -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/qn /norestart ADD_CMAKE_TO_PATH=System"
Tesseract OCR 5.5.1 の開発環境とツール等のインストール(Windows 上)
公式ページの手順に従う.
Software Network のセットアップ
- 以下の手順を管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」). - Software Network のセットアップ
次のコマンドを実行.
cd c:\ rmdir /s /q sw mkdir sw cd sw curl -L -O https://software-network.org/client/sw-master-windows_x86_64-client.zip curl -L -O https://software-network.org/client/swgui-master-windows_x86_64-client.zip powershell -command "Expand-Archive -Path sw-master-windows_x86_64-client.zip" powershell -command "Expand-Archive -Path swgui-master-windows_x86_64-client.zip" rmdir /s /q %HOMEPATH%\.sw cd /d c:%HOMEPATH% c:\sw\sw-master-windows_x86_64-client\sw setup - 終了の確認
エラーメッセージが出ていないこと.
- ファイルが %HOMEPATH%\.sw にダウンロードされていることを確認
dir %HOMEPATH%\.sw
- Windows のシステム環境変数 Path に c:\sw\sw-master-windows_x86_64-client を追加することにより,パスを通す.
次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\sw\sw-master-windows_x86_64-client\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
Tesseract 関連ライブラリのビルド(Software Network を使用)
- 以下の手順を管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」). - Tesseract OCR の開発環境のビルド(Windows 上)
次のコマンドを実行. 終了までしばらく待つ.
cd /d c:%HOMEPATH% sw build -platform=x64 org.sw.demo.google.tesseract.tesseract - 終了の確認
エラーメッセージが出ていないこと.
- ファイルが %HOMEPATH%\.sw にダウンロードされていることを確認
dir %HOMEPATH%\.sw
Tesseract OCR の開発環境とツール等のインストール(Windows 上)
ソースコードをダウンロードしてインストールする.
- 以下の手順を管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」). - Tesseract OCR の開発環境のビルド(Windows 上)
次のコマンドを実行. 終了までしばらく待つ.
cd c:\ rmdir /s /q tesseract git clone https://github.com/tesseract-ocr/tesseract cd tesseract mkdir build cd build cmake .. -A x64 -T host=x64 -DBUILD_TESTS=ON -DCMAKE_INSTALL_PREFIX=c:/tesseract # いくつかのファイルをUTF8 を UTF8BOM有りに変換 cd /d c:%HOMEPATH% powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gsocks4aproxy.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gsocks4aproxy.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/84/1c/ec76/src/sdir/gmodule/gmodule.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/84/1c/ec76/src/sdir/gmodule/gmodule.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gnetworkaddress.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gnetworkaddress.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/c7/3e/272a/src/sdir/glib/gatomic.h' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/c7/3e/272a/src/sdir/glib/gatomic.h' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/c7/3e/272a/src/sdir/glib/gtestutils.h' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/c7/3e/272a/src/sdir/glib/gtestutils.h' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/c4/6e/a0a7/src/sdir/gobject/gtype.h' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/c4/6e/a0a7/src/sdir/gobject/gtype.h' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gactiongroupexporter.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gactiongroupexporter.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gappinfo.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gappinfo.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdbusconnection.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdbusconnection.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdbusaddress.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdbusaddress.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/c7/3e/272a/src/sdir/glib/gstdioprivate.h' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/c7/3e/272a/src/sdir/glib/gstdioprivate.h' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdatagrambased.h' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdatagrambased.h' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gfile.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gfile.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdbusmessage.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdbusmessage.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdbusauthmechanismsha1.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdbusauthmechanismsha1.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gmount.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gmount.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gapplicationimpl-dbus.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gapplicationimpl-dbus.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdbusserver.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gdbusserver.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/giomodule.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/giomodule.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gproxyresolver.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gproxyresolver.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gthreadedresolver.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gthreadedresolver.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/c4/1e/68f3/src/sdir/src/hb-style.h' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/c4/1e/68f3/src/sdir/src/hb-style.h' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/8f/09/0cc9/src/sdir/pango/pango-language-sample-table.h' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/8f/09/0cc9/src/sdir/pango/pango-language-sample-table.h' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/c4/6e/a0a7/src/sdir/gobject/gsignalgroup.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/c4/6e/a0a7/src/sdir/gobject/gsignalgroup.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gcharsetconverter.c' -Encoding UTF8; $content | Set-Content -Path '.sw/storage/pkg/7b/bc/eeda/src/sdir/gio/gcharsetconverter.c' -Encoding UTF8" powershell -Command "$content = Get-Content '.sw\storage\pkg\04\dc\e58a\src\sdir\pango\pango-language-sample-table.h' -Encoding UTF8; $content | Set-Content -Path '.sw\storage\pkg\04\dc\e58a\src\sdir\pango\pango-language-sample-table.h' -Encoding UTF8" cd c:\tesseract\build cmake --build . --config Release cmake --build . --config Release --target install - 終了の確認
エラーメッセージが出ていないこと.
- tessdata のダウンロード
次のコマンドを実行.
cd c:\tesseract\share rmdir /s /q tessdata git clone https://github.com/tesseract-ocr/tessdata
- Windows のシステム環境変数 Path に c:\tesseract\bin を追加することにより,パスを通す.
次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\tesseract\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
- Windows の システム環境変数 TESSDATA_PREFIX の設定を行う.
Windows では, コマンドプロンプトを管理者として開き, 次のコマンドを実行することにより, システム環境変数 TESSDATA_PREFIX の設定を行うことができる.
コマンドプロンプトを管理者として実行: 別ページ »で説明powershell -command "[System.Environment]::SetEnvironmentVariable(\"TESSDATA_PREFIX\", \"C:\tesseract\share\tessdata\", \"Machine\")"
動作確認(Windows 上)
- 日本語の文章が書かれた画像を用意する
次の画像は,Wikipedia「日本国憲法前文」から取得したものである.
Wikipedia「日本国憲法前文」のURL:https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E5%9B%BD%E6%86%B2%E6%B3%95%E5%89%8D%E6%96%87#%E5%89%8D%E6%96%87
- 画像から文字を認識する
まず,コマンドプロンプトで,カレントディレクトリを,画像のファイルのあるディレクトリに移動する.
「-l jpn」のところは, 日本語の横書き文書なら「-l jpn」, 日本語の縦書き文書なら「-l jpn_vert」を指定する.
tesseract <画像ファイル名> outbase -l jpn
- outbase.txtというファイルができるので,メモ帳で内容を確認する
notepad outbase.txt