Skip to the content.
English 한국어 日本語 Tiếng Việt

Groovy サンプル

https://github.com/bobhyun/TS-ANPR/tree/main/examples/Groovy/anpr

1. エンジンファイルのコピー

[注意] このサンプルでは、他のサンプルと共有するためにエンジンファイルを examples/bin/ディレクトリに展開します。ただし、実際のデプロイメントでは、通常、アプリケーションの実行ファイルが配置されているディレクトリにエンジンファイルをコピーします。

2. 前提条件

  1. Java JDK 8 以上をインストール

    Ubuntu/Debian:

    sudo apt-get update
    sudo apt-get install -y openjdk-11-jdk
    

    CentOS/RHEL/Fedora:

    sudo dnf install java-11-openjdk-devel
    

    macOS:

    brew install openjdk@11
    

    Windows:

    • https://adoptium.net/ または https://www.oracle.com/java/technologies/downloads/ からJDKをダウンロードしてインストール
  2. Groovyをインストール

    Ubuntu/Debian:

    sudo apt-get install -y groovy
    

    CentOS/RHEL/Fedora:

    sudo dnf install groovy
    

    macOS:

    brew install groovy
    

    Windows:

    • https://groovy.apache.org/download.html からダウンロード
    • またはSDKMANを使用: sdk install groovy
  3. インストールの確認

    java -version
    groovy --version
    

3. 実行方法

cd examples/Groovy/anpr

# ANPRサンプルを実行
groovy anpr.groovy

4. 機能

5. APIリファレンス

TSANPRモジュール

TSANPRクラスは以下のメソッドを提供します:

// TSANPRライブラリをロード
def tsanpr = new TSANPR(libraryPath)

// ANPRエンジンを初期化
String error = tsanpr.initialize(mode)

// 画像ファイルを読み取り処理
String result = tsanpr.readFile(imgFileName, outputFormat, options)

// ピクセルデータを直接処理
String result = tsanpr.readPixels(pixels, width, height, stride, pixelFormat, outputFormat, options)

認識オプション

オプション 説明
"" 単一ナンバープレート認識(デフォルト)
"vm" 車両に取り付けられた複数のナンバープレートを認識
"vmb" 複数のナンバープレートを認識(バイクを含む)
"vms" サラウンド検出付きで認識
"dms" 複数の周囲オブジェクト(車両)を検出
"dmsr" オブジェクトを検出してナンバープレートを認識
"dmsri<座標>" 関心領域内で認識

出力形式

"text", "json", "yaml", "xml", "csv"

6. 実装に関する注意事項

このサンプルは動的ライブラリロードにJNA(Java Native Access)を使用します:

動的ライブラリロード:

Groovy機能:

ピクセルバッファ処理: readPixelBuffer関数は、画像のロードとデコードにJavaのBufferedImageを使用します。生のピクセルデータを抽出して、JNAのMemoryクラスを使用して適切なピクセル形式でanpr_read_pixels()に渡します。

7. トラブルシューティング

Groovyが見つからない:

# Groovyのインストールを確認
groovy --version

# Ubuntu/Debian: Groovyをインストール
sudo apt-get install groovy

# またはSDKMANを使用
curl -s "https://get.sdkman.io" | bash
sdk install groovy

JNA依存関係の問題:

# GrapeがJNAを自動的にダウンロードするはず
# 問題が続く場合は、ネットワーク接続またはプロキシ設定を確認

# Grapeキャッシュをクリアして再試行
rm -rf ~/.groovy/grapes/net.java.dev.jna
groovy anpr.groovy

ライブラリロードの問題:

ランタイムの問題: