★悩み★
・OCR(文字認識)ソフトであるTesseractをRuby経由で使えるの?
・Rubyの「rtesseract」ライブラリでTesseractを使えるって本当?
・RubyでTesseractを使ったOCR(文字認識)する手順を知りたい。
こういった「悩み」に答えます。
★本記事の内容★
➀ Ruby(rtesseract)でTesseractを使ったOCR(文字認識)する為の準備を紹介
➁ RubyのrtesseractでTesseractを使ったOCR(文字認識)する手順を紹介
これからご紹介する「【コピペOK】RubyでTesseractを使ったOCR(文字認識)する手順」を実践したことで、筆者は20分以内でRubyからTesseractを使ったOCR(文字認識)をできました。
記事の前半では「Ruby(rtesseract)でTesseractを使ったOCR(文字認識)する為の準備」をコマンドベースで紹介します。記事の後半では「RubyのrtesseractでTesseractを使ったOCR(文字認識)する手順」を紹介します。
この記事を読み終えることで、「RubyでTesseractを使ったOCR(文字認識)」を実現できます。
★Tesseractとは★
Tesseractは、Google社が開発しているオープンソースの光学式文字認識ソフトウェアです。Tesseractのライセンスは、Apache License 2.0(2021年10月11日時点)であるため、「無料で画像内の文字抽出」ができます。
メリット/デメリットや事例に関しては、以下の記事をご覧ください。
>> 【要点】Tesseractとはを解消!初心者向けに特徴から使い方を図解
Ruby(rtesseract)でTesseractを使ったOCR(文字認識)する為の準備
「Ruby(rtesseract)でTesseractを使ったOCR(文字認識)する為の準備」に関してご紹介します。
★Ruby(rtesseract)でTesseractを使ったOCR(文字認識)する為の準備★
手順1:OCR(文字認識)ソフトであるTesseractをインストール
手順2:Rubyをインストール
手順3:Rubyの「rtesseract」ライブラリをインストール
手順4:Tesseractで日本語を文字認識(OCR)するためのセットアップ
手順5:Tesseractで文字認識したい画像をダウンロード
上記の流れで、「Ruby(rtesseract)でTesseractを使ったOCR(文字認識)する為の準備」ができます。
上記の各手順は、以下の日時と環境で動作確認済みです。
Tesseractのバージョン:4.1.1-rc2-20-g01fb
動作確認済み日時:2021年10月21日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)
以降で、上記「Ruby(rtesseract)でTesseractを使ったOCR(文字認識)する為の準備」の各手順に関してご説明します。
手順1:OCR(文字認識)ソフトであるTesseractをインストール
「手順1:OCR(文字認識)ソフトであるTesseractをインストール」に関して解説します。
Rubyで画像をOCR(文字認識)するために、OCR(文字認識)ソフトウェアであるTesseractをインストールしましょう。
「Tesseractのインストール手順」に関しては、以下の記事をご覧ください。
既にTesseractをインストールされている方は、本手順を省略してください。
以上で、「手順1:OCR(文字認識)ソフトであるTesseractをインストール」は完了です。
手順2:Rubyをインストール【rtesseractの利用に必要】
「手順2:Rubyをインストール」に関してご説明します。
rtesseractライブラリをインストールするためにもRubyをインストールしましょう。
以下の記事を参考にし、お使いのパソコンやサーバーにRubyをインストールしましょう。
>> 【5分でわかる】Windowsに最新版Rubyをインストールする方法
>> 【Linux向け】Rubyを3ステップでインストールする方法
>> 【Ubuntu向け】rbenvでRubyをインストールする手順【簡単】
既にRubyをインストールされている方は、本手順を省略してください。
以上で、「手順2:Rubyのインストール」は完了です。
手順3:Rubyの「rtesseract」ライブラリをインストール
「手順3:Rubyの「rtesseract」ライブラリをインストール」に関してご説明します。
RubyでTesseractを使うために、rtesseractライブラリをインストールしましょう。
Rubyの「rtesseract」ライブラリをインストールするために、「端末」または「コマンドプロンプト」を起動し、以下のコマンドを順に実行しましょう。
# gem install rtesseract
# gem list | grep rtesseract
rtesseract (3.1.2)
#
コマンンド実行後、「rtesseract(バージョン)」が表示された場合、「正常にrtesseractライブラリをインストールできた」と判断できます。
以上で、「手順3:Rubyの「rtesseract」ライブラリをインストール」は完了です。
手順4:Tesseractで日本語を文字認識(OCR)するためのセットアップ
「手順4:Tesseractで日本語を文字認識(OCR)するためのセットアップ」に関して解説します。
Rubyのrtesseractで日本語を文字認識(OCR)したい場合、Tesseractで日本語を文字認識(OCR)するためのセットアップが必要です。
「Tesseractで日本語を文字認識(OCR)するためのセットアップ手順」に関しては、以下の記事をご覧ください。
Rubyのrtesseractで日本語を文字認識(OCR)する必要性がない方は、本手順を省略してください。
以上で、「手順4:Tesseractで日本語を文字認識(OCR)するためのセットアップ」は完了です。
手順5:Tesseractで文字認識したい画像をダウンロード
「手順5:Tesseractで文字認識したい画像をダウンロード」に関して解説します。
RubyでTesseractを使ったOCR(文字認識)をしたい画像をダウンロードしましょう。
以降では、下の画像を用いた手順などを解説します。
以上で、「手順5:Tesseractで文字認識したい画像をダウンロード」は完了です。
上記の流れで、Ruby(rtesseract)でTesseractを使ったOCR(文字認識)するための準備ができました。
RubyのrtesseractでTesseractを使ったOCR(文字認識)する手順
「RubyのrtesseractでTesseractを使ったOCR(文字認識)する手順」に関してご紹介します。
★RubyのrtesseractでTesseractを使ったOCR(文字認識)する流れ★
手順1:RubyのrtesseractでTesseractを使ったOCRプログラムを作成
手順2:「RubyのrtesseractでTesseractを使ったOCRプログラム」の確認
上記の流れで、「RubyのrtesseractでTesseractを使ったOCR(文字認識)」できます。
上記の各手順は、以下の日時と環境で動作確認済みです。
Tesseractのバージョン:4.1.1-rc2-20-g01fb
動作確認済み日時:2021年10月21日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)
以降で、上記「RubyのrtesseractでTesseractを使ったOCR(文字認識)する流れ」の各手順に関してご説明します。
手順1:RubyのrtesseractでTesseractを使ったOCRプログラムを作成
「手順1:RubyのrtesseractでTesseractを使ったOCRプログラムを作成」に関して解説します。
「RubyのrtesseractでTesseractを使ったOCRプログラム」を作成しましょう。
「RubyのrtesseractでTesseractを使ったOCRプログラム」は、以下となります。プログラム中の「適宜変更」と書いてある部分は、自分用に書き換えてください。
require "rtesseract"
target_file = "<OCR(文字認識)させたい画像のファイルPath(適宜変更)>"
# OCR(文字認識)の実施
image = RTesseract.new(target_file, lang: 'eng')
# ↓↓ 日本語が記載された画像をOCR(文字認識)したい場合は、以下のコメントを外す ↓↓
#image = RTesseract.new(target_file, lang: 'jpn')
# OCR(文字認識)した結果を表示
puts(image.to_s)
上記のプログラムを「ruby-rtesseract-tesseract.py」というファイル名で保存しましょう。
以上で、「手順1:RubyのrtesseractでTesseractを使ったOCRプログラムを作成」は完了です。
手順2:「RubyのrtesseractでTesseractを使ったOCRプログラム」の確認
「手順2:「RubyのrtesseractでTesseractを使ったOCRプログラム」の確認」に関してご説明します。
Rubyで作成した「rtesseractでTesseractを使ったOCR」プログラムの動作を確認しましょう。
Rubyで作成した「rtesseractでTesseractを使ったOCR」プログラムの動作を確認するために、以下のコマンドを実行してください。
# ruby ruby-rtesseract-tesseract.py
The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.
The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of
computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each
offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect
and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which
may be prone to failures.
コマンド実行後、「OCR(文字認識)した結果」が表示された場合、「正常にRubyのrtesseractでTesseractを使ったOCR(文字認識)ができた」と判断できます。
正解データと突き合わせたところ、間違いなく英数字の文字認識(OCR)ができていました。
以上で、「手順2:「RubyのrtesseractでTesseractを使ったOCRプログラム」の確認」は完了です。
上記の流れで、RubyのrtesseractでTesseractを使ったOCR(文字認識)ができました。
【まとめ】RubyでTesseractを使ってOCR(文字認識)する手順
今回の記事を通して、「【最短5分】RubyでTesseractを使ってOCR(文字認識)する手順」をご紹介することで、以下の悩みを解消しました。
★悩み★
・OCR(文字認識)ソフトであるTesseractをRuby経由で使えるの?
・Rubyの「rtesseract」ライブラリでTesseractを使えるって本当?
・RubyでTesseractを使ったOCR(文字認識)する手順を知りたい。
「RubyでTesseractを使った文字認識(OCR)する手順は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。