OpenRTM-aistのPython版、Java版には付属していませんのでご注意ください。また、Linux上では、LinuxにおけるOpenCVサンプルコードのビルド手順に従ってビルドしてインストールしてください。
ImageSubtractionを起動することによって入力画像から背景画像を取り出し、前景画像部を判定し、それを取り出すマスク画像を、背景画像を出力します。 OpenCVCamera、CameraViewerといっしょに使用します。(なおWindows環境では現状このコンポーネントは再ビルドしないと現在正常に動作しないようなので、Ubuntu 18.04環境での使用を推奨いたします。)
ImageSubtractionは、入力画像から背景画像を取り出すためのコンポーネントです。ここではUSB Cameraから画像を取り込むためのOpenCVCameraと、処理した画像を表示するためのCameraViewerコンポーネントと使用します。
$ cd ImageProcessing/opencv/bin $ sudo vi rtc.conf
manager.components.naming_policy: ns_unique
$ cd ImageProcessing/opencv/bin $ ./CameraViewerComp
$ cd ImageProcessing/opencv/bin $ ./OpenCVCameraComp
$ cd ImageProcessing/opencv/bin $ ./ImageSubtractionComp
なお、コンフィギュレーション・パラメータとして以下のようなものが設定可能です。
パラメータ名 | 意味 |
control_mode | bとmが選択でき、bの時はkeyイベントに伴いバックグラウンドイメージの取り込みが行われ、mの時は画素ごとに閾値を決めるDYNAMIC_MODEと画面全体で一つの閾値を使うCONSTANT_MODEが切り替わります。 |
image_height | 縦方向の画素数を指定しますが、このサンプルでは機能しません。 |
image_width | 横方向の画素数を指定しますが、このサンプルでは機能しません。 |
threshold_coefficient | DYNAMIC_MODEで使う係数 |
constant_threshold | CONSTANT_MODEで使う閾値 |