ImageSubtraction

OpenRTM-aistのPython版、Java版には付属していませんのでご注意ください。また、Linux上では、LinuxにおけるOpenCVサンプルコードのビルド手順に従ってビルドしてインストールしてください。

概要

ImageSubtractionを起動することによって入力画像から背景画像を取り出し、前景画像部を判定し、それを取り出すマスク画像を、背景画像を出力します。 OpenCVCamera、CameraViewerといっしょに使用します。(なおWindows環境では現状このコンポーネントは再ビルドしないと現在正常に動作しないようなので、Ubuntu 18.04環境での使用を推奨いたします。)

起動画面

ImageSubtract_exe.png
ImageSubtractionコンポーネンの実行例

使い方

ImageSubtractionは、入力画像から背景画像を取り出すためのコンポーネントです。ここではUSB Cameraから画像を取り込むためのOpenCVCameraと、処理した画像を表示するためのCameraViewerコンポーネントと使用します。

  • 手順 (以下はUbuntu 18.04での手順です。)
    • ターミナルを起動します。
    • 上記の[[LinuxにおけるOpenCVサンプルコードのビルド手順>//node/6974]に従いサンプルコードのインストールをします。
    • OpenRTPに従いOpenRTPを起動しRTSystemEditorを起動し、Name Service ViewにRTCが表示されるようにします。新規SystemEditorを開きます。RTSystemEditorの使用方法の詳細についてはRTSystemEditorを参照してください。
    • 新規にターミナル画面を開きます。
    • 以下のコマンドを実行して、rtc.confを編集します。
       $ cd ImageProcessing/opencv/bin
       $ sudo vi rtc.conf
    • 最終行に以下の行を付け加えます。
       manager.components.naming_policy: ns_unique
    • 新規にターミナルを起動して
       $ cd ImageProcessing/opencv/bin
       $ ./CameraViewerComp
      ターミナルを起動後の上記コマンドをさらに3回くり返し、4つのCameraViewerコンポーネントを起動します。
    • 新規にターミナルを起動します。
       $ cd ImageProcessing/opencv/bin
       $ ./OpenCVCameraComp
      としてOpenCVCameraCompを起動します。
    • さらにもう一度ターミナルを起動して
       $ cd ImageProcessing/opencv/bin
       $ ./ImageSubtractionComp
      と入力してImageSubtractionコンポーネントを起動します。
    • RTSystemEditorの画面のName Service viewのところの[>]をクリックして、起動したコンポーネントCameraView0, CameraViewer1, CameraViewer2, CameraViewe3, OpenCVCamera0, ImageSubtraction0のコンポーネントが表示されているのを確認します。
    • RTSystemEditorで上部の[Open New System Editor]ボタンicon_open_editor_ja.png をクリックし、新規System Editorを開き、[System Dialgram]を新たに表示させます。
    • 上記の5つのコンポーネントをSystem Diagram上にドラッグ&ドロップします。
    • 下記の画面のように各コンポーネントのポートを接続します。
      RTSystemEditor_ImageSubtraction.png
      ImageSubtractionコンポーネンの実行例
    • どれかのコンポーネントを右クリックし、[Activate Systems]を選択します。
    • 画面のウィンドウを動かしながら4つのCameraViewerの画面を表示させます。
      compexec.png
      ImageSubtraction出力画像
    • マウスをcapture_imageのウィンドウから外に移動するとそのタイミングで背景画面が取り込まれ、それがback_imageに表示されます。他の画面もどうなるか確認してください。

なお、コンフィギュレーション・パラメータとして以下のようなものが設定可能です。

パラメータ名 意味
control_mode bとmが選択でき、bの時はkeyイベントに伴いバックグラウンドイメージの取り込みが行われ、mの時は画素ごとに閾値を決めるDYNAMIC_MODEと画面全体で一つの閾値を使うCONSTANT_MODEが切り替わります。
image_height 縦方向の画素数を指定しますが、このサンプルでは機能しません。
image_width 横方向の画素数を指定しますが、このサンプルでは機能しません。
threshold_coefficient DYNAMIC_MODEで使う係数
constant_threshold CONSTANT_MODEで使う閾値

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK