pcplayer
ストリーミング 3 次元点群データの可視化
説明
Microsoft® Kinect® などのデバイスからの 3 次元点群データ ストリームを可視化します。
パフォーマンスを向上させるために、pcplayer
は Figure を操作する際、レンダリングされた点群を自動的にダウンサンプリングします。ダウンサンプリングは点群のレンダリングのみを目的として行われ、保存された点には影響しません。
点群ビューアの既定の回転中心を、軸の中心で回転または点で回転するように設定できます。Computer Vision Toolbox の基本設定で既定の動作を設定します。
作成
説明
入力引数
xlimits
— x 軸座標の範囲
1 行 2 列のベクトル
x 軸座標の範囲。[min max] の形式で 1 行 2 列のベクトルとして指定します。pcplayer
は、これらの範囲を超えるデータを表示しません。
ylimits
— y 軸座標の範囲
1 行 2 列のベクトル
y 軸座標の範囲。[min max] の形式で 1 行 2 列のベクトルとして指定します。pcplayer
は、これらの範囲を超えるデータを表示しません。
zlimits
— z 軸座標の範囲
1 行 2 列のベクトル
z 軸座標の範囲。[min max] の形式で 1 行 2 列のベクトルとして指定します。pcplayer
は、これらの範囲を超えるデータを表示しません。
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: ViewPlane="XY"
は、点群を可視化するための x-y 軸に平面を設定します。
MarkerSize
— マーカーの直径
6
(既定値) | 正のスカラー
マーカーの直径。正のスカラーとして指定します。値は点のマーカーのおおよその直径を指定します。MATLAB® グラフィックスで定義されている単位は点です。マーカー サイズが 6 より大きいと、レンダリング パフォーマンスが低下する可能性があります。
BackgroundColor
— 背景色
[0 0 0]
(black) (既定値) | RGB 3 成分 | 16 進数カラー コード | 文字ベクトル
背景色。RGB 3 成分または 16 進数カラー コードとして指定するか、色の完全名または省略名を文字ベクトルとして指定します。
VerticalAxis
— 縦軸
"Z"
(既定値) | "X"
| "Y"
縦軸。"X"
、"Y"
、または "Z"
として指定します。Figure に対する操作は、保存した Figure を再読み込みする際、縦軸が z 軸にリセットされます。
VerticalAxisDir
— 縦軸の方向
"Up"
(既定値) | "Down"
縦軸の方向。"Up"
または "Down"
として指定します。Figure に対する操作は、保存した Figure を再読み込みする際、方向が上方向にリセットされます。
Projection
— 3 次元ビューのカメラ射影
"perspective"
(既定値) | "orthographic"
3 次元ビューのカメラ射影。次のいずれかの値として指定します。
"perspective"
— 表示するボリュームをピラミッド (底面と平行に頂点が切り取られたピラミッド) の錐台として投影します。カメラから離れているオブジェクトは小さく表示されます。短縮法によって距離が表されるため、3 次元オブジェクトの奥行きを認識できるようになります。この投影タイプは、実際のオブジェクトの現実的なビューを表示する場合に役立ちます。透視投影では、オブジェクトの相対的な寸法は保持されません。代わりに、遠くの線分が、同じ長さの近くの線分よりも小さく表示されます。データ内で平行な線が、シーン内で平行に表示されない場合があります。"orthographic"
— この投影タイプは、ビューアーから特定の点までの距離に関して、グラフィックス オブジェクトの正確な相対寸法を維持します。カメラからの相対距離は、オブジェクトのサイズに影響しません。データ内で平行な線は、画面上で平行に表示されます。この投影タイプは、オブジェクトの実際のサイズとオブジェクトの間の角度を維持することが重要な場合に役立ちます。
ViewPlane
— 点群を可視化する平面
"XY"
(既定値) | "YX"
| "XZ"
| "ZX"
| "YZ"
| "ZY"
点群を可視化する平面。"XY"
、"YX"
、"XZ"
、"ZX"
、"YZ"
、"ZY"
として指定します。ViewPlane
は、カメラからの視線を、選択した平面の中央に配置し、プロットの中心に向かうように設定します。
ColorSource
— カラーマップの点群プロパティ
"auto"
(既定値) | "X"
| "Y"
| "Z"
| "Intensity"
| "Color"
| "Row"
| "Column"
カラーマップの点群プロパティ。"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 | カラー値を現在のカラーマップにマッピングします。 |
Location 、Intensity および Color | カラー値を現在のカラーマップにマッピングします。 |
AxesVisibility
— 座標軸の可視性の状態
"off"
または logical 0
(false
) (既定値) | "on"
または logical 1
(true
)
座標軸の可視性の状態。"off"
または "on"
として指定するか、数値または logical の 0
(false
) または 1
(true
) として指定します。"off"
の値は false
と等価であり、"on"
は true
と等価です。したがって、このプロパティの値を logical 値として使用できます。この値は、matlab.lang.OnOffSwitchState
型の on/off の logical 値として格納されます。
"off"
— 座標軸を削除せずに非表示にします。ただし、非表示の axes オブジェクトのプロパティにアクセスすることはできます。(ラインなどの子オブジェクトは可視のままになります。)"on"
— 座標軸とその子を表示します。
Parent
— 可視化を表示する座標軸
axes
グラフィックス オブジェクト
可視化を表示する座標軸。Axes
オブジェクトとして指定します。Axes
オブジェクトを作成するには、関数 axes
を使用します。新しい Figure に可視化を表示するには、"Parent"
を未指定のままにします。
オブジェクト関数
例
点群処理ループの中断
プレーヤーを作成し、データを追加します。
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 ループを中断します。
詳細
座標軸ツール バーの操作
キーボード ショートカットは、回転 (既定) モードでのみ有効になります。座標軸のツール バーの操作を表示するには、Figure をポイントして、以下のオプションのいずれかを選択します。表示をリセットするには、[表示の復元] アイコンをクリックします。
機能 | 説明 | ||||||
---|---|---|---|---|---|---|---|
縦軸 | X- 方向、Y- 方向、または Z- 方向を選択して、点群のその軸の方向を正の垂直方向として設定します。選択した方向について、キーボードの矢印キーを使用して、点群を移動します。 | ||||||
表示平面 | 点群 Figure の表示角度を XY、YX、XZ、ZX、YZ、または ZY 平面として選択します。 | ||||||
背景色 | 背景色を選択できるカラー チャートを表示します。 | ||||||
座標軸オン/オフ | 座標軸の表示をオンまたはオフにします。 | ||||||
投影 | 透視投影ビューまたは正投影ビューを選択します。 | ||||||
エクスポート |
| ||||||
ブラシ | データ ブラシ モードを有効にします。 | ||||||
データ ヒント | 点群 Figure の点を選択して、その点の点データ値を表示します。データ ヒント表示には、各点の x、y、および z の値が表示されます。深度イメージおよび LiDAR の点群には、次の追加のデータ プロパティが含まれます。
| ||||||
3 次元回転 | ドラッグして点群 Figure を回転させます。点群 Figure の任意の点を右クリックし、[点で回転] を選択して、その点を Figure の回転中心に指定することもできます。座標軸の回転に戻るには、もう一度右クリックして [軸の中心で回転] を選択します。 [3 次元回転] モードでは、点群 Figure の任意の場所を右クリックして [色のソース] を選択し、リストからオプションを選択して、点群の色のソースを選択することもできます。Figure は、選択したソースの値に基づいて、アクティブなカラーマップを点群に適用します。位置データのみの点群の場合、[色のソース] オプションは [X]、[Y]、[Z]、および [ユーザー指定] です。深度イメージおよび LiDAR データの点群には、次の追加の色のソース オプションが含まれます。
| ||||||
パン、ズームイン、およびズームアウト | Figure 内の点群を操作するか、点群 Figure をズームインまたはズームアウトします。 | ||||||
表示の復元 | 軸の元のビューを復元します。 |
シーン内でのカメラの移動
点群に移動してシーンを観察するには、次のキーボード ショートカットを使用します。
アクション | キーボード ショートカット | 例 |
---|---|---|
シーン内を前後に移動。カメラとターゲットが移動。 | w — 前進 s — 後退 | |
シーン内を左右に移動。カメラとターゲットが移動。 | a — 左 d — 右 | |
シーンを見回す (カメラのピッチ/ヨー回転)。カメラ位置は固定、ターゲットが移動。 | ↑ — カメラのピッチを上げる ↓ — カメラのピッチを下げる ← — カメラのヨーを左に向ける → — カメラのヨーを右に向ける | |
シーンのロール (カメラのロール回転)。 | q — カメラを時計回りに動かします。(シーンは反時計回りに動いて見えます。) e — カメラを反時計回りに動かします。(シーンは時計回りに動いて見えます。) | |
シーンの回転 (点群を中心にカメラを回転)。カメラ位置が変化、ターゲットは固定。 | Shift + Left または Right — 点群を中心に水平にカメラを旋回移動させます。(カメラがその周りを水平に移動するため、シーンは静止しているように見えます。) Shift + Up または Down — 点群を中心に垂直にカメラを旋回移動させます。(カメラがその周りを垂直に移動するため、シーンは静止しているように見えます。) | |
ズームインまたはズームアウト。 | z — ズームイン x — ズームアウト | |
表示平面の確認。 | 1 — XY 2 — YX 3 — XZ 4 — ZX 5 — YZ 6 — ZY 選択した平面に配置されたカメラのプロットの中心に向かう視線。 | |
回転とパンの切り替え。 | Spacebar — スペース バーを押したままにすると、操作がパンに切り替わります。スペース バーを離すと、回転に戻ります。 | |
X、Y、および Z 次元で回転。 | T — 3 番目の次元での回転操作を追加します。 | |
色形式
色の名前 | 省略名 | RGB 3 成分 | 外観 |
---|---|---|---|
"red" | "r" | [1 0 0] | |
"green" | "g" | [0 1 0] | |
"blue" | "b" | [0 0 1] | |
"cyan" | "c" | [0 1 1] | |
"magenta" | "m" | [1 0 1] | |
"yellow" | "y" | [1 1 0] | |
"black" | "k" | [0 0 0] | |
"white" | "w" | [1 1 1] |
パフォーマンスとヒント
マウスをクリックして回転、パン、ズームインまたはズームアウトをするときに、関数は、パフォーマンスを向上させるために、レンダリングされた点群を自動的にダウンサンプリングします。マウスのスクロール機能を使用したズームインまたはズームアウトには、ダウンサンプリングが適用されません。データ ヒントを使用する場合、Figure はダウンサンプリングを適用しません。ダウンサンプリングは点群のレンダリングのみを目的として行われ、保存された点には影響しません。
シーンを通してカメラを移動で説明されているキーボード ショートカットは、保存済みの Figure を読み込む場合、またはライブ エディターを使用したポップアウト ウィンドウではサポートされていません。
Figure に対する操作は、保存した Figure を再読み込みする際、縦軸が z 軸および上方向にリセットされます。
大きな点群 (100 万個超の点) を可視化するには、
pcviewer
オブジェクトを使用します。
OpenGL オプション
pcplayer
は、Renderer
の figure
プロパティについてのみ "opengl"
オプションをサポートします。
バージョン履歴
R2015b で導入R2022b: 投影表示の既定動作が透視投影に変更
カメラの 3 次元ビュー表示の既定の投影法が、正投影から透視投影に変更されています。新しい名前と値の引数 Projection
を使用して、投影を "perspective"
または "orthographic"
として指定できます。R2022b より前では、表示は正投影ビューのみでの点群のレンダリングでした。
参考
関数
showShape
|pcshow
|pcshowpair
|pcwrite
|pcread
|pcmerge
|plot3
|pcdownsample
|pcfitplane
|pcdenoise
|scatter3
|pcregistericp
オブジェクト
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)