pcshow
3 次元点群のプロット
構文
説明
pcshow( は、xyzPoints)xyzPoints 行列によって指定された点を表示します。
pcshow( は、filename)filename で指定されたファイルに保存された点群を表示します。
pcshow(___, は、前の構文にある入力引数の任意の組み合わせに加えて、名前と値の引数を 1 つ以上使用してオプションを指定します。たとえば、Name=Value)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 カラーが含まれます。
点群の 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 つの色を指定 | 色の省略名または完全名 |
|
1 行 3 列のベクトル (RGB 3 成分) |
| |
| 点ごとに色を指定 | 文字ベクトルの string 配列 |
|
各行が RGB 3 成分である M 行 3 列の行列 | 255 0 0 255 0 0 0 255 255 ![]() | |
各点の RGB 値を含むオーガナイズド点群の M×N×3 の配列。ここで、M×N は点群のサイズです。 |
|
名前と値の引数
オプションの引数のペアを 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 | カラー値を現在のカラーマップにマッピングします。 |
Location、Intensity および 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 をポイントして、以下のオプションのいずれかを選択します。表示をリセットするには、[表示の復元] アイコンをクリックします。

| 機能 | 説明 | ||||||
|---|---|---|---|---|---|---|---|
| 縦軸 | 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 選択した平面に配置されたカメラのプロットの中心に向かう視線。 |
|
| 回転とパンの切り替え。 | Space キー — Space キーを押したままにすると、操作がパンに切り替わります。Space キーを離すと、回転に戻ります。 |
|
| 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オブジェクトを使用します。
バージョン履歴
R2015b で導入カメラの 3 次元ビュー表示の既定の投影法が、正投影から透視投影に変更されました。新しい名前と値の引数 Projection を使用して、投影を "perspective" または "orthographic" として指定できます。R2022b より前では、表示は正投影ビューのみでの点群のレンダリングでした。
参考
オブジェクト
pcviewer|pointCloud|pcplayer|planeModel
関数
showShape|pcshowpair|plot3|pcwrite|pcread|pcmerge|scatter3|reconstructScene|triangulate|pcdownsample|pcfitplane|pcdenoise|pcregistericp
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)




















