OpenCVCamera/CameraViewerとシンプルOpenCVサンプル

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

概要

OpenCVCamera、CameraViewerを起動することで、USBカメラの画像をモニターに表示します。OpenCV画像処理サンプルRTCコンポーネントを接続し、エフェクトをかけられます。

起動画面

new_00.png
OpenCVCameraコンポーネントとCameraViewerコンポーネントの実行例

new_01.png
OpenCVCamera実行例(RTSystemEditor)

new_02.png
CameraViewer実行例(モニター)

使い方

OpenCVCameraはUSBカメラの画像データを取得し、CameraViewerコンポーネントでモニター上に表示するサンプルです。 OpenCVのRTサンプルコンポーネントを間に接続し、画像データにエフェクトをかけることもできます。

  • 手順
    • RTSystemEditorを起動し、新規SystemEditorを開きます。RTSystemEditorの使用方法の詳細についてはRTSystemEditorを参照
    • OpenCVCamera(openCVCamera.bat)とCameraViewer(CameraViewer.bat)の両コンポーネントを起動します。
      • サンプルOpenCV画像処理RTコンポーネントを使用する場合は、インストール後、スタート>OpenRTM-aist 1.2.1 x86_64>C++_OpenCV-Examplesから(32bit環境では、スタート>OpenRTM-aist 1.2.1 x86>C++_OpenCV-Examplesから)起動してください。
    • RTSystemEditorのName Service Viewにこれらのコンポーネントが現れるので、二つともSystemEditor上にドラッグします。
    • 両コンポーネントの対応ポートを結びます。(上図RTSystemEditor実行例を参照)
    • どちらかのコンポーネントを右クリックし、[Activate Systems]を選択します。
  • OpenCVのFlipを使用する
    • Flipコンポーネントをスタート>OpenRTM-aist 1.2.1 x86_64>C++_OpenCV-Examplesから(32bit環境では、スタート>OpenRTM-aist 1.2.1 x86>C++_OpenCV-Examplesから)起動してください。
    • SystemEditor上にドラッグして表示し、OpenCVCameraとCameraViewer両コンポーネントと接続し「Activate」します。(下図Flip実行例を参照)
    • FlipはConfigure「flip_mode」の値を変更する事で、出力データを変更することも可能です。(下図flip_modeの変更を参照)
      • Flipの詳しい使い方・解説はこちらをご確認ください。
        new_05.png
        Flip実行例(RTSystemEditor)

new_03_04.png
flip_modeの変更(RTSystemEditorとモニター)

  • OpenCV使用のその他のサンプルについて
起動コマンド 機能 configurationパラメータ
Affine.bat 入力画像のアフィン変換をします。 Affine行列
BackgroundSubtractionSimple.bat 入力画像においてKey入力があった時点の画像から変化分を出力します。 画像の変化検出の方法示すパラメータ
Binarization.bat 入力画像を二値化した白黒画像に変換します。 二値化の閾値
DialationErosion.bat ダイアレーション/エロージョン処理を行います。 二値化の閾値
Edge.bat X方向一次微分画像、Y方向一次微分画像、ラプラシアン画像(二次微分画像)を出力します アパーチャーサイズ
Findcontour.bat 輪郭抽出をして、輪郭を画像中に表示します。 処理前の二値化の閾値、階層化のレベル、表示時の輪郭線のサイズ、輪郭の近似手法
Histgram.bat 白黒化した画像の明度/コントラストの変更処理をしながら、ヒストグラムの変化を表示します。 明度、コントラスト
Hough.bat ハフ変換による直線抽出 ハフ変換のパラメータや検出した直線の描画パラメータ
Perspective.bat 画像のパースペクティブ変換(斜め下から見たように変換します。 項目なし
RockPaperScissors.bat 画像でグーチョキパーを判定します。 solidityに対するジャンケン判定用閾値と膨張縮小処理による欠損補完パラメータ
Rotate.bat 画像を回転と縮小拡大処理をします。 反時計周りの回転角と縮小拡大率
Scale.bat 画像の縮小拡大処理をします。 X方向Y方向の拡大縮小率
Sepia.bat 画像のセピア化を行います。 セピア化の色味
Translate.bat 画像の2次元移動処理をします。 移動方向

LinuxにおけるOpenCVサンプルのビルド手順

Linuxにおいては一括インストールスクリプトの実行ではOpenCVサンプルコードはインストールされません。サンプルコードのインストールのためには、githubリポジトリよりソースコードを入手してビルドする必要があります。手順は以下のようになります。

  • OpenRTM-aistを一括インストールスクリプトを用いてインストールしてください。(以下の手順の実行にはC++版とPython版が必要になります。また、実際に動作させる場合にはOpenrtpが必要になることが多いかと思われます。それに合わせてオプションを指定してください。) 例えば
     $ sudo sh pkg_install_ubuntu.sh -l all --yes
  • OpenCV3.4以降をインストールする。(現状では3.4.5のみがテストされています。インストールにはソースコードビルドが必要なこともあります。)
  • 以下の手順でソースコードを入手してビルドしてください。
     $ sudo apt-get install git
     $ git clone https://github.com/OpenRTM/ImageProcessing.git
     $ cd ImageProcessing/opencv
     $ mkdir build
     $ cd build
     $ cmake ..
     $ make
     $ ./build_linux_package.sh
     $ sudo dpkg -i imageprocessing_1.2.1_amd64.deb