| English | 한국어 | 日本語 | Tiếng Việt |
Zig サンプル
https://github.com/bobhyun/TS-ANPR/tree/main/examples/Zig/anpr
1. エンジンファイルのコピー
[注意] このサンプルでは、他のサンプルとエンジンファイルを共有するために examples/bin/ ディレクトリに配置します。実際の配布時には、通常はアプリケーションの実行ファイルと同じディレクトリにエンジンファイルをコピーします。
- Windows x86 64 ビット
エンジンファイルを
examples/bin/windows-x86_64ディレクトリに解凍7z x tsanpr*-windows-x86_64.7z - Windows x86 32 ビット
エンジンファイルを
examples/bin/windows-x86ディレクトリに解凍7z x tsanpr*-windows-x86.7z - Linux x86 64 ビット
エンジンファイルを
examples/bin/linux-x86_64ディレクトリに解凍tar xvf tsanpr-linux-x86_64.tar.xz - Linux arm 64 ビット
エンジンファイルを
examples/bin/linux-aarch64ディレクトリに解凍tar xvf tsanpr-linux-aarch64.tar.xz - ディレクトリ構造
examples ├── bin │ ├─── windows-x86_64 # Windows (x86_64)用エンジンディレクトリ │ │ ├── tsanpr.dll │ │ ├── tsanpr-2505M.eon │ │ └── tshelper.exe │ ├─── windows-x86 # Windows (x86)用エンジンディレクトリ │ │ ├── tsanpr.dll │ │ ├── tsanpr-2505M.eon │ │ └── tshelper.exe │ ├── linux-x86_64 # Linux (x86_64)用エンジンディレクトリ │ │ ├── libtsanpr.so │ │ ├── tsanpr-2505M.eon │ │ └── tshelper │ └── linux-aarch64 # Linux (arm64)用エンジンディレクトリ │ ├── libtsanpr.so │ ├── tsanpr-2505M.eon │ └── tshelper ├── img # 画像ディレクトリ └── Zig └── anpr # ソースディレクトリ ├── build.zig ├── src/ │ ├── main.zig │ ├── tsanpr.c │ ├── tsanpr.h │ └── tsanpr.zig └── zig-out/ └── bin/ # 出力ディレクトリ
2. 前提条件
-
Zig のインストール (最新の安定版を推奨)
Windows:
# https://ziglang.org/download/ からダウンロード # またはScoopを使用 scoop install zigLinux:
# https://ziglang.org/download/ からダウンロード # またはパッケージマネージャーを使用(ディストリビューションにより異なります) sudo snap install zig --classic --beta -
インストールの確認
zig version
3. 実行方法
-
Zig サンプルディレクトリに移動
cd Zig/anpr -
サンプルのビルドと実行
# ビルドと実行 zig build run # ビルドのみ zig build # 最適化してビルド zig build -Doptimize=ReleaseFast # テストの実行 zig build test
4. 注意事項
- Zig 実装は他の言語サンプルと同じ機能を提供します
- Zig の C 相互運用性を使用してネイティブ TSANPR ライブラリとインターフェースします
- Zig のコンパイル時安全性とパフォーマンスはシステムプログラミングに最適です
- Windows および Linux クロスプラットフォームサポート
- より良い配布柔軟性のためのランタイムライブラリロード
5. 機能
- ファイルベース認識: 画像ファイルを直接処理
- エンコードされた画像処理: エンコードされた画像データの処理 (JPEG、PNG など)
- ピクセルバッファ処理: 生ピクセルデータの処理(簡略化された実装)
- 複数の出力形式: テキスト、JSON、YAML、XML、CSV 出力をサポート
- 複数の認識モード: 単一プレート、複数プレート、車両検出など
- 関心領域 (RoI): 画像内の特定領域の処理
- 多国間サポート: 異なるナンバープレート形式のサポート (KR、JP、VN など)
6. API リファレンス
TSANPR 関数
Zig 実装は C インターオペレーションを通じて以下の関数を提供します:
初期化:
TSANPR_load(library_path): TSANPR ライブラリをロードanpr_initialize(mode): ANPR エンジンを初期化
コア関数:
anpr_read_file(img_file_name, output_format, options): 画像ファイルを処理anpr_read_pixels(pixels, width, height, stride, pixel_format, output_format, options): ピクセルデータを処理
認識オプション
"": 単一ナンバープレート認識(デフォルト)"vm": 車両に取り付けられた複数のナンバープレートを認識"vmb": 車両に取り付けられた複数のナンバープレートを認識(オートバイを含む)"vms": サラウンド検出で車両の複数のナンバープレートを認識"dms": 複数のサラウンドオブジェクト(車両)を認識"dmsr": 複数のサラウンドオブジェクト(車両)とナンバープレートを認識"dmsri<座標>": 関心領域内で認識
出力形式
"text": プレーンテキスト出力"json": JSON 形式出力"yaml": YAML 形式出力"xml": XML 形式出力"csv": CSV 形式出力