Main Content

pcplayer

ストリーミング 3 次元点群データの可視化

説明

Microsoft® Kinect® などのデバイスからの 3 次元点群データ ストリームを可視化します。

パフォーマンスを向上させるために、pcplayer は Figure を操作する際、レンダリングされた点群を自動的にダウンサンプリングします。ダウンサンプリングは点群のレンダリングのみを目的として行われ、保存された点には影響しません。

点群ビューアの既定の回転中心を、軸の中心で回転または点で回転するように設定できます。Computer Vision Toolbox の基本設定で既定の動作を設定します。

作成

説明

player = pcplayer(xlimits,ylimits,zlimits) は、座標軸の範囲を xlimitsylimits、および zlimits に設定したプレーヤーを返します。

player = pcplayer(xlimits,ylimits,zlimits,Name=Value) は、前の構文にある引数の任意の組み合わせに加えて、名前と値の引数を 1 つ以上使用してオプションを指定します。たとえば、ViewPlane="XY" は、点群を可視化する平面を x-y 軸に設定します。

入力引数

すべて展開する

x 軸座標の範囲。[min max] の形式で 1 行 2 列のベクトルとして指定します。pcplayer は、これらの範囲を超えるデータを表示しません。

y 軸座標の範囲。[min max] の形式で 1 行 2 列のベクトルとして指定します。pcplayer は、これらの範囲を超えるデータを表示しません。

z 軸座標の範囲。[min max] の形式で 1 行 2 列のベクトルとして指定します。pcplayer は、これらの範囲を超えるデータを表示しません。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: ViewPlane="XY" は、点群を可視化するための x-y 軸に平面を設定します。

マーカーの直径。正のスカラーとして指定します。値は点のマーカーのおおよその直径を指定します。MATLAB® グラフィックスで定義されている単位は点です。マーカー サイズが 6 より大きいと、レンダリング パフォーマンスが低下する可能性があります。

背景色。RGB 3 成分または 16 進数カラー コードとして指定するか、色の完全名または省略名を文字ベクトルとして指定します。

縦軸。"X""Y"、または "Z" として指定します。Figure に対する操作は、保存した Figure を再読み込みする際、縦軸が z 軸にリセットされます。

縦軸の方向。"Up" または "Down" として指定します。Figure に対する操作は、保存した Figure を再読み込みする際、方向が上方向にリセットされます。

3 次元ビューのカメラ射影。次のいずれかの値として指定します。

  • "perspective" — 表示するボリュームをピラミッド (底面と平行に頂点が切り取られたピラミッド) の錐台として投影します。カメラから離れているオブジェクトは小さく表示されます。短縮法によって距離が表されるため、3 次元オブジェクトの奥行きを認識できるようになります。この投影タイプは、実際のオブジェクトの現実的なビューを表示する場合に役立ちます。透視投影では、オブジェクトの相対的な寸法は保持されません。代わりに、遠くの線分が、同じ長さの近くの線分よりも小さく表示されます。データ内で平行な線が、シーン内で平行に表示されない場合があります。

  • "orthographic" — この投影タイプは、ビューアーから特定の点までの距離に関して、グラフィックス オブジェクトの正確な相対寸法を維持します。カメラからの相対距離は、オブジェクトのサイズに影響しません。データ内で平行な線は、画面上で平行に表示されます。この投影タイプは、オブジェクトの実際のサイズとオブジェクトの間の角度を維持することが重要な場合に役立ちます。

点群を可視化する平面。"XY""YX""XZ""ZX""YZ""ZY" として指定します。ViewPlane は、カメラからの視線を、選択した平面の中央に配置し、プロットの中心に向かうように設定します。

カラーマップの点群プロパティ。"auto""X""Y""Z""Intensity""Color""Row""Column" として指定します。関数 pcshow は、ColorSource の値を使用して、点群のレンダリング用にカラーマップを割り当てます。値には次のプロパティを使用します。

  • "X" — 入力点群の Location プロパティの x 座標。

  • "Y" — 入力点群の Location プロパティの y 座標。

  • "Z" — 入力点群の Location プロパティの z 座標。

  • "Intensity" — 入力点群の Intensity プロパティ。

  • "Color" — 入力点群の Color プロパティ。

  • "Row" — オーガナイズド点群の行の値を使用。

  • "Column" — オーガナイズド点群の列の値を使用。

ColorSource"auto" に設定すると、入力点群オブジェクトで使用可能なプロパティ値に応じて、関数が次のようにカラーマップを設定します。

利用可能な点群プロパティ色のソース
Location のみ Z 値を現在のカラーマップのカラー値にマッピングします。
Location および Intensity Z 値を現在のカラーマップのカラー値にマッピングします。
Location および Color カラー値を現在のカラーマップにマッピングします。
LocationIntensity および Color カラー値を現在のカラーマップにマッピングします。

座標軸の可視性の状態。"off" または "on" として指定するか、数値または logical の 0 (false) または 1 (true) として指定します。"off" の値は false と等価であり、"on"true と等価です。したがって、このプロパティの値を logical 値として使用できます。この値は、matlab.lang.OnOffSwitchState 型の on/off の logical 値として格納されます。

  • "off" — 座標軸を削除せずに非表示にします。ただし、非表示の axes オブジェクトのプロパティにアクセスすることはできます。(ラインなどの子オブジェクトは可視のままになります。)

  • "on" — 座標軸とその子を表示します。

可視化を表示する座標軸。Axes オブジェクトとして指定します。Axes オブジェクトを作成するには、関数 axes を使用します。新しい Figure に可視化を表示するには、"Parent" を未指定のままにします。

プロパティ

すべて展開する

プレーヤーの座標軸ハンドル。axes グラフィックス オブジェクトとして指定します。

オブジェクト関数

hideHide player figure
isOpenVisible or hidden status for player
showShow player
viewDisplay point cloud

すべて折りたたむ

プレーヤーを作成し、データを追加します。

player = pcplayer([0 1],[0 1],[0 1]);

プレーヤーの Figure を表示したままにします。関数 isOpen を使用して、プレーヤーの Figure ウィンドウが開いているかどうかを確認します。

while isOpen(player) 
     ptCloud = pointCloud(rand(1000,3,"single"));
     view(player,ptCloud);           
end 

pcplayer の Figure ウィンドウを閉じて while ループを中断します。

詳細

すべて展開する

バージョン履歴

R2015b で導入

すべて展開する