,
目次
...
Table of Contents | ||||
---|---|---|---|---|
|
...
参考:https://dev-partner.i-pro.com/space/TPFAQ/1172766733/ADAM_CamPref_Get()で取得可能なYC解像度一覧
カメラの上下反転設定に対応するための実装
カメラの画像回転・上下反転設定を使用する場合、アプリが取得するYC画像は自動では反転されず、アプリ内で反転処理を実装する必要があります。CV2xカメラの画像回転・上下反転設定を使用する場合、アプリが取得するYC画像は自動では反転されず、アプリ内で反転処理を実装する必要があります。
また一部のCV2xカメラ(ボックスタイプ、ドームタイプ)では、上下反転設定にかかわらず、画像センサの取付け向きの関係で、アプリが取得可能なYC画像がデフォルト状態で反転しています。以下のページを参考にYC画像取得後の反転処理を実装して下さい。
https://dev-partner.i-pro.com/space/TPFAQ/965477999/カメラの取り付け向きと取得YC画像について
...
また、YC画像のフレームレートに制限があります。
2M / 4Mタイプ: 最大15 fps
6M 5M / 6M / 4Kタイプ: 最大7.5 fps
AI処理の一般的な処理シーケンス例
...
ADAM_DevInputAlarm_CreateはPython版のアプリでは非対応です。
外部機器へのデータ送信方法
...
アプリ内で発生したイベントはSDKを使用してカメラファームウェアのアラーム連動動作機能を動作させたり、またはアプリから外部機器に対して直接通信することもがです。アプリ内で発生したイベントはSDKを使用してカメラファームウェアのアラーム連動動作機能を動作させたり、またはアプリから外部機器に対して直接通信することも可能です。
ADAM_Alarm_Notify
カメラファームウェアの以下のようなアラーム連動動作を開始させることが可能です。
...
RTSPのメタデータチャンネルで、Onvif meta streamとしてデータの送信が可能です。本データを活用するソフトはパートナー様で開発頂く必要があります。
※海外ページではiAG連携の補足説明する
※本SDKは各種サンプルアプリmeta_stream_app、web_template_appで実装されています。
...
ADAM_GetAppDataDirPathで取得されるディレクトリに対して保存したデータはカメラ内部のフラッシュメモリに保存されるため、カメラの電源をOff/Onを行っても保存されます。
フラッシュメモリには書き込み回数に上限があるため、映像から検知したデータなどを保存したい場合は、SDカードまたは外部装置へ送信して保存する必要があります。
一時的なRAMへの保存で十分の場合は、一時的なRAMへの保存で十分の場合は、RAMの上限を超えない範囲でADAM_GetAppTmpDirPathをで取得されるディレクトリに保存してください。で取得されるディレクトリに保存してください。
高頻度のフラッシュメモリへの書き込みが行われ劣化した場合、アプリのインストール、起動、その他アプリの動作に影響を及ぼす場合があります。
SDK 2.01以降のResouce Monitorでは、フラッシュメモリへのアクセス状況を確認可能です。不要なアクセスがないかどうか、開発中にご確認ください。
...
また、各カメラのROMサイズの上限を超えて、保存が行われた場合、カメラのファームウェアがアプリを停止します。この場合、カメラのWEBブラウザの管理ログに「不正終了(ROM容量制限(実容量))」が表示されます。
RAMの活用
...
各カメラのRAMサイズの上限を超えて使用された場合、カメラのファームウェアがアプリを停止します。この場合、カメラのWEBブラウザの管理ログに「不正終了(RAM容量制限)」が表示されます。
また、ADAM_GetAppTmpDirPathで取得されるディレクトリに一時的にデータを格納することが可能です。
この場合も上限を超えないようにご使用下さい。
リソース情報の取得方法
開発中はSDK同梱のResouce Monitorで確認可能です。
...
Adam WebAPI getAppResourceInfo
/proc/[pid]/statusや/proc/[pid]/statmで取得
ADAM_GetRomRamSize *SDK v2.01以降で対応
SDメモリーカードの活用
...
カメラ設定画面の[基本]-[SDメモリーカード]-[機能拡張ソフトウェアモード]を[On]にすることで、アプリからSDカードに対してデータを書き込むことが可能です。ディレクトリはADAM_GetSdCardPathで取得可能です。
外部ライブラリSQLiteを使用して、SDメモリーカードへデータベースを構築することも可能です。サンプルアプリsqlite_appで実装されています。
[SDメモリーカードファイルシステム]設定を[FAT]で使用する場合、カメラファームウェアによるSDメモリーカードへの録画機能は動作しますが、保証できません。
[SDメモリーカードファイルシステム]設定を[ext]で使用する場合、カメラファームウェアによるSDメモリーカードへの録画機能は動作しません。
SDメモリーカードには書き込み回数の上限があります。詳細はメーカーの情報を参照ください。
WEB UIの実装
...
アプリでWEB UIを自由に実装し、カメラのWEBブラウザから表示することが可能です(ex. MJPEGと検知枠の表示、アプリの設定変更など)
...
SoCがCv2xのカメラ用アプリとCV52のカメラ用アプリは互換性がありません。Cv2xカメラ用アプリをすでに開発済で、CV52カメラ用アプリを開発する場合はAIモデル変換(https://dev-partner.i-pro.com/space/TPFAQ/1187053582)と、ビルド時のオプションを変更(https://dev-partner.i-pro.com/space/TPFAQ/1112245115/SDKインストール(v1.80以降))する必要がありますソースコードでは以下によって制御を分けることが可能です。ビルド時のオプションによって一方が有効となります。SDK
ソースコードでは以下によって制御を分けることが可能です。ビルド時のオプションによって一方が有効となります。
#ifdef ADAM_TARGET_PF_ipro_ambaCV2X_linux
#ifdef ADAM_TARGET_PF_ipro_ambaCV5X_linux
SDK v2.01以降に同梱されているサンプルアプリケーションweb_template_app, yuv_dnn_app, yuv_pose_ap, yuv_ssd_app, yuv_yolo_app,yuv_yolov5_app,yuv_yolov8_appで実装されています。
#ifdef ADAM_TARGET_PF_ipro_ambaCV2X_linux
#ifdef ADAM_TARGET_PF_ipro_ambaCV5X_linux
また、SDK2.01以降に対応したファームウェアバージョンで追加されたSDK ADAM_GetSocTypeでSoCの情報を取得し、動的に制御を分けることも可能です。
...