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で使う閾値

ダウンロード

最新バージョン

初めての方へ

Windows msi(インストーラ) パッケージ (サンプルの実行ができます。)

C++,Python,Java,
Toolsを含む
1.2.1-RELEASE

RTコンポーネントを開発するためには開発環境のインストールが必要です。詳細はダウンロードページ

統計

Webサイト統計
ユーザ数:1820
プロジェクト統計
RTコンポーネント296
RTミドルウエア26
ツール22
文書・仕様書1

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク