Main Content

pcshow

3 次元点群のプロット

説明

pcshow(ptCloud) は、点群オブジェクトに保存されている位置と色を使用して点を表示します。

大きな点群 (100 万個超の点) を可視化するには、pcviewer オブジェクトを使用します。

pcshow(xyzPoints) は、xyzPoints 行列によって指定された点を表示します。

pcshow(xyzPoints,color) は、color によって指定された色を使用して xyzPoints 行列に含まれる点を表示します。

pcshow(xyzPoints,colorMap) は、colorMap によって指定された色を使用して xyzPoints 行列に含まれる点を表示します。

pcshow(filename) は、filename で指定されたファイルに保存された点群を表示します。

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

ax = pcshow(___) はプロットの座標軸を返します。

すべて折りたたむ

600 行 600 列の面で構成される球体を生成します。

numFaces = 600;
[x,y,z] = sphere(numFaces);

既定のカラーマップを使用して球体をプロットします。

figure;
pcshow([x(:) y(:) z(:)])
title("Sphere with Default Color Map")
xlabel("X")
ylabel("Y")
zlabel("Z")

テクスチャ マッピングに使用するイメージを読み込み、表示します。

I = im2double(imread("visionteam1.jpg"));
imshow(I)

座標をマッピングする準備として、イメージのサイズを変更して反転します。

J = flipud(imresize(I,size(x)));

色のテクスチャとしてイメージを使用して球をプロットします。

pcshow([x(:) y(:) z(:)],reshape(J,[],3))
title("Sphere with Color Texture")
xlabel("X")
ylabel("Y")
zlabel("Z")

強度データを含むオーガナイズド LiDAR 点群を読み込みます。

ld = load("drivingLidarPoints.mat");

点群をプロットし、Figure にラベルを付けます。既定では、強度は jet カラーマップにマッピングされます。

figure
pcshow(ld.ptCloud, ColorSource="Intensity")
title("Lidar Point Cloud with Intensity")
xlabel("X")
ylabel("Y")
zlabel("Z")
colorbar(Color=[1 1 1])
colormap("winter")

入力引数

すべて折りたたむ

点群。pointCloud オブジェクトとして指定します。オブジェクトには、点群をレンダリングする位置、強度、および RGB カラーが含まれます。

点群のファイル名。文字ベクトルまたは string スカラーとして指定します。ファイルは、pcread でサポートされているタイプでなければなりません。関数 pcshowpcread を呼び出してファイルから点群を読み取りますが、データを MATLAB® ワークスペースに保存しません。

点群の x 位置、y 位置、および z 位置。M 行 3 列の数値行列または M×N×3 の数値配列として指定します。引数 xyzPoints には、M または M×N 個の点が [x,y,z] の形式で含まれます。z 値は、一般的に深度または高度に対応し、各点の色を決定します。入力色を指定しない場合、関数は z の各値を現在のカラーマップの色にマッピングします。

点群内の点の色。RGB 3 成分、M 行 3 列の行列、M×N×3 の配列、色の省略名、色の完全名、色名の配列、または色名の cell 配列として指定します。カラー値の詳細については、カラー値の表を参照してください。

  • single データ型または double データ型の場合、color の各 RGB 値は [0, 1] の範囲内でなければなりません。

  • uint8 データ型の場合、color の各 RGB 値は [0, 255] の範囲内でなければなりません。

  • この関数は、color 値を M 行 3 列の行列または M×N×3 の配列として格納します。色を string または 1 行 3 列のベクトルとして指定した場合、関数は色を次のいずれかの次元に変換します。

形式
すべての点に 1 つの色を指定

色の省略名または完全名

"r"

"red"

1 行 3 列のベクトル (RGB 3 成分)

[255 0 0]1-by-3 grid, with columns labeled r, g, and b respectively.

点ごとに色を指定

文字ベクトルの string 配列

["red","yellow","blue"]

各行が RGB 3 成分である M 行 3 列の行列

255 0 0
255 0 0
0 255 255
M-by-3 grid, with columns labeled r,g,b respectively.

各点の RGB 値を含むオーガナイズド点群の M×N×3 の配列。ここで、M×N は点群のサイズです。

M-by-N-by3 grid, with 3 m-by-n matrices labeled r, g, and b respectively.

点群のカラーマップ。M 行 1 列のベクトルまたは M 行 N 列の行列として指定します。

点の入力色の選択色の有効値
xyzPoints点ごとに異なる色を適用ベクトルまたは M 行 N 列の行列。行列には、現在の colormap の色へ線形にマッピングされた値が含まれていなければなりません。

名前と値の引数

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

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

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

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

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

データ型: cell | char | uint8 | uint16 | int16 | double | single

縦軸。"X""Y"、または "Z" として指定します。この値は、点群の選択された軸を垂直方向に設定します。

縦軸の方向。"Up" または "Down" として指定します。

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

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

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

点群を可視化する平面。"auto""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 カラー値を現在のカラーマップにマッピングします。

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

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

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

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

出力引数

すべて折りたたむ

プロットの座標軸。axes グラフィックス オブジェクトとして返されます。NaN または Inf として表される点は含まれません。

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

点群を回転すると、回転の中心に回転軸 (赤、青、緑の線で表現) が表示されます。

詳細

すべて折りたたむ

座標軸ツール バーの操作

キーボード ショートカットは、回転 (既定) モードでのみ有効になります。座標軸のツール バーの操作を表示するには、Figure をポイントして、以下のオプションのいずれかを選択します。表示をリセットするには、[表示の復元] アイコンをクリックします。

Figure toolbar

機能説明
縦軸X- 方向、Y- 方向、または Z- 方向を選択して、点群のその軸の方向を正の垂直方向として設定します。選択した方向について、キーボードの矢印キーを使用して、点群を移動します。
表示平面

点群 Figure の表示角度を XY、YX、XZ、ZX、YZ、または ZY 平面として選択します。

背景色背景色を選択できるカラー チャートを表示します。
座標軸オン/オフ座標軸の表示をオンまたはオフにします。
投影透視投影ビューまたは正投影ビューを選択します。
エクスポート
  • Save as icon— コンテンツをタイトにトリミングされたイメージまたは PDF として保存します。

  • Copy content as an image icon— コンテンツをイメージとしてコピーします。

  • Copy as vector graphic icon— コンテンツをベクトル グラフィックスとしてコピーします。

ブラシデータ ブラシ モードを有効にします。
データ ヒント

点群 Figure の点を選択して、その点の点データ値を表示します。データ ヒント表示には、各点の x、y、および z の値が表示されます。深度イメージおよび LiDAR の点群には、次の追加のデータ プロパティが含まれます。

点群データ ソースデータ値のプロパティ
深度イメージ (RGB-D センサー)ColorRow、および Column
LiDARIntensityRangeAzimuth 角度、Elevation 角度、Row、および Column

3 次元回転

ドラッグして点群 Figure を回転させます。点群 Figure の任意の点を右クリックし、[点で回転] を選択して、その点を Figure の回転中心に指定することもできます。座標軸の回転に戻るには、もう一度右クリックして [軸の中心で回転] を選択します。

[3 次元回転] モードでは、点群 Figure の任意の場所を右クリックして [色のソース] を選択し、リストからオプションを選択して、点群の色のソースを選択することもできます。Figure は、選択したソースの値に基づいて、アクティブなカラーマップを点群に適用します。位置データのみの点群の場合、[色のソース] オプションは [X][Y][Z]、および [ユーザー指定] です。深度イメージおよび LiDAR データの点群には、次の追加の色のソース オプションが含まれます。

点群データ ソース色のソース オプション
深度イメージ (RGB-D センサー)ColorRow、および Column
LiDARIntensityRangeAzimuth 角度、Elevation 角度、Row、および Column

パン、ズームイン、およびズームアウトFigure 内の点群を操作するか、点群 Figure をズームインまたはズームアウトします。
表示の復元軸の元のビューを復元します。

シーンを通してカメラを移動

点群に移動してシーンを観察するには、次のキーボード ショートカットを使用します。

アクションキーボード ショートカット
シーン内を前後に移動。カメラとターゲットが移動。

w — 前進

s — 後退

Animation displaying forward, backward, left, and right movement.

シーン内を左右に移動。カメラとターゲットが移動。

a — 左

d — 右

シーンを見回す (カメラのピッチ/ヨー回転)。カメラ位置は固定、ターゲットが移動。

— カメラのピッチを上げる

— カメラのピッチを下げる

— カメラのヨーを左に向ける

— カメラのヨーを右に向ける

Animation displaying the view in a scene using pitch and yaw capability.

シーンのロール (カメラのロール回転)。

q — カメラを時計回りに動かします。(シーンは反時計回りに動いて見えます。)

e — カメラを反時計回りに動かします。(シーンは時計回りに動いて見えます。)

Animation displaying the view in a scene using the roll capability.

シーンの回転 (点群を中心にカメラを回転)。カメラ位置が変化、ターゲットは固定。

Shift + Left または Right — 点群を中心に水平にカメラを旋回移動させます。(カメラがその周りを水平に移動するため、シーンは静止しているように見えます。)

Shift + Up または Down — 点群を中心に垂直にカメラを旋回移動させます。(カメラがその周りを垂直に移動するため、シーンは静止しているように見えます。)

Animation displaying the view with the camera rotating around a point capability.

ズームインまたはズームアウト。

z — ズームイン

x — ズームアウト

Animation displaying the view in a scene using the zoom capability.

表示平面の確認。

1 — XY

2 — YX

3 — XZ

4 — ZX

5 — YZ

6 — ZY

選択した平面に配置されたカメラのプロットの中心に向かう視線。

Animation displaying the view in a scene using view plane capability.

回転とパンの切り替え。Spacebar — スペース バーを押したままにすると、操作がパンに切り替わります。スペース バーを離すと、回転に戻ります。

Animation displaying the view in a scene using the ability to switch between rotate and pan.

X、Y、および Z 次元で回転。T — 3 番目の次元での回転操作を追加します。

Animation displaying the view in a scene using the capability to rotate between the X-, Y-, and Z- dimensions.

カラー値

色の名前省略名RGB 3 成分外観
"red""r"[1 0 0]

Sample of the color red

"green""g"[0 1 0]

Sample of the color green

"blue""b"[0 0 1]

Sample of the color blue

"cyan" "c"[0 1 1]

Sample of the color cyan

"magenta""m"[1 0 1]

Sample of the color magenta

"yellow""y"[1 1 0]

Sample of the color yellow

"black""k"[0 0 0]

Sample of the color black

"white""w"[1 1 1]

Sample of the color white

パフォーマンスとヒント

  • マウスをクリックして回転、パン、ズームインまたはズームアウトをするときに、関数は、パフォーマンスを向上させるために、レンダリングされた点群を自動的にダウンサンプリングします。マウスのスクロール機能を使用したズームインまたはズームアウトには、ダウンサンプリングが適用されません。データ ヒントを使用する場合、Figure はダウンサンプリングを適用しません。ダウンサンプリングは点群のレンダリングのみを目的として行われ、保存された点には影響しません。

  • シーンを通してカメラを移動で説明されているキーボード ショートカットは、保存済みの Figure を読み込む場合、またはライブ エディターを使用したポップアウト ウィンドウではサポートされていません。

  • Figure に対する操作は、保存した Figure を再読み込みする際、縦軸が z 軸および上方向にリセットされます。

  • 大きな点群 (100 万個超の点) を可視化するには、pcviewer オブジェクトを使用します。

バージョン履歴

R2015b で導入

すべて展開する