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

Pony サンプル

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

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

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

2. 前提条件

  1. Ponyコンパイラのインストール

    Ubuntu/Debian:

    # ponyupを使用(推奨)
    curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/ponylang/ponyup/latest-release/ponyup-init.sh | sh
    source ~/.profile
    ponyup update ponyc release
    

    macOS:

    brew install ponyc
    

    Windows:

    # Chocolateyを使用
    choco install ponyc
    
    # または https://github.com/ponylang/ponyc/releases からダウンロード
    
  2. Cコンパイラのインストール(GCCまたはClang)

    Ubuntu/Debian:

    sudo apt-get install build-essential
    

    macOS:

    xcode-select --install
    

    Windows:

    • Visual Studio Build ToolsまたはMinGW-w64をインストール
  3. インストールの確認

    ponyc --version
    gcc --version
    

3. 実行方法

cd examples/Pony/anpr

# ビルドして実行
make run

# ビルドのみ
make

# リリースバージョンをビルド
make release

# ビルド成果物をクリーン
make clean

4. 機能

5. APIリファレンス

TSANPRクラス

class TSANPR
  new create(library_path: String) ?
  fun ref initialize(mode: String): String
  fun ref read_file(img_file_name: String, output_format: String, options: String): String
  fun ref read_pixels(pixels: Array[U8] val, width: U64, height: U64, stride: I64,
                     pixel_format: String, output_format: String, options: String): String

認識オプション

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

出力形式

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

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

このサンプルでは、動的ライブラリのロードと画像処理のためにCラッパーを使用しています:

動的ライブラリロード(tsanpr_wrapper.c):

画像処理(image_loader.c):

PonyコードはFFIを通じてCラッパー関数を呼び出し、Cラッパー関数は動的にロードされたTSANPRライブラリ関数を呼び出します。