| [サイトマップへ] |
ナンバープレートの画像読み取りでは、
を行う
http://www.openalpr.com/cloud-api.html
https://github.com/openalpr/openalpr
※ Windows での展開(解凍)のためのソフトは「7-Zip」をおすすめ.
Windows のコマンドプロンプトで次を実行する
cd <openalpr-2.3.0-win-64bit.zip を展開(解凍)したディレクトリ> alpr -c us samples\us-1.jpg
※ うまく認識できない場合は、「No license plate found.」と表示される。
元画像 samples\us-1.jpg を下に示す。
Windows のコマンドプロンプトの画面を下に示す.認識結果が表示されることが分かる.
この章は書きかけです
参考 Web ページ:https://github.com/openalpr/openalpr/tree/master/src/bindings/python
前準備として,Python 開発環境のAnaconda のインストールが終わっていること.
Windows での Anaconda のインストール手順は、 別の Web ページに記載しています
Ubuntu での Anaconda のインストール手順は、 別の Web ページに記載しています
以下,Windows に Anaconda をインストール済みであるものとして説明を続けます.
Windows での OpenALPR のインストール手順は、 別の Web ページに記載しています
OpenALPR は、分かりやすいディレクトリに展開(解凍)すること。
※ Anaconda や Miniconda を使っていないときは conda コマンドがないので pip コマンドを使ってください
conda install numpy scipy
※ 「Proceed ([y]/n)?」と表示されたら, y + Enter で続行する.「反応が遅いなあ」と思ったら、Enter キーを押してみる.
次のコマンドを実行する
※ バージョン番号が表示されれば OK.
python -c "import numpy; print( numpy.__version__ )"
このとき 「Original error was: DLL failed: 指定されたモジュールが見つかりません」 というエラーメッセージが出ることがある.
Windows のシステム環境変数 Path に「<Anaconda をインストールしたディレクトリ>\Anaconda3\Library\bin」を含めてから、 新しいコマンドプロンプトで実行してみる
https://github.com/openalpr/openalpr
2
※ Windows での展開(解凍)のためのソフトは「7-Zip」をおすすめ.
この .zip ファイルは,e:\Downloads\openalpr-master\openalpr-master に展開(解凍)したものとして,説明を続けるので,適切に読み替えてください.
e: cd e:\Downloads\openalpr-master\openalpr-master
cd src\bindings\python python setup.py install
エラーメッセージが出ていなければOK
「Python 処理系」で次を実行.(Anacondaに入っている開発環境 spyder を実行し,右下の ipython コンソールを使うのが簡単.)
「D:/openalpr-2.3.0-win-64bit/openalpr_64」のところは、OpenALPRを展開(解凍)したディレクトリを設定すること
from openalpr import Alpr
alpr = Alpr("us", "D:/openalpr-2.3.0-win-64bit/openalpr_64/openalpr.conf", "D:/openalpr-2.3.0-win-64bit/openalpr_64/runtime_data")
if not alpr.is_loaded():
print("Error loading OpenALPR")
sys.exit(1)
alpr.set_top_n(20)
alpr.set_default_region("md")
results = alpr.recognize_file("/path/to/image.jpg")
i = 0
for plate in results['results']:
i += 1
print("Plate #%d" % i)
print(" %12s %12s" % ("Plate", "Confidence"))
for candidate in plate['candidates']:
prefix = "-"
if candidate['matches_template']:
prefix = "*"
print(" %s %12s%12f" % (prefix, candidate['plate'], candidate['confidence']))
# Call when completely done to release memory
alpr.unload()