このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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 点群のプロット
強度データを含むオーガナイズド 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")
入力引数
ptCloud
— 点群
pointCloud
オブジェクト
点群。pointCloud
オブジェクトとして指定します。オブジェクトには、点群をレンダリングする位置、強度、および RGB カラーが含まれます。
xyzPoints
— 点群の x 位置、y 位置、および z 位置
M 行 3 列の数値行列 | M x N x 3 の数値配列
点群の x 位置、y 位置、および z 位置。M 行 3 列の数値行列または M×N×3 の数値配列として指定します。引数 xyzPoints
には、M または M×N 個の点が [x,y,z] の形式で含まれます。z 値は、一般的に深度または高度に対応し、各点の色を決定します。入力色を指定しない場合、関数は z の各値を現在のカラーマップの色にマッピングします。
color
— 点群内の点の色
RGB 3 成分 | 色の省略名 | 色の完全名 | 色名の配列 | 色名の cell 配列 | M 行 3 列の配列 | M x N x 3 の行列
点群内の点の色。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
を引用符で囲みます。
MarkerSize
— マーカーの直径
6
(既定値) | 正のスカラー
マーカーの直径。正のスカラーとして指定します。値は点のマーカーのおおよその直径を指定します。MATLAB グラフィックスで定義されている単位は点です。マーカー サイズが 6 より大きいと、レンダリング パフォーマンスが低下する可能性があります。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
BackgroundColor
— 背景色
[0 0 0]
(black) (既定値) | RGB 3 成分 | 16 進数カラー コード | 文字ベクトル
背景色。RGB 3 成分または 16 進数カラー コードとして指定するか、色の完全名または省略名を文字ベクトルとして指定します。
データ型: cell
| char
| uint8
| uint16
| int16
| double
| single
VerticalAxis
— 縦軸
"Z"
(既定値) | "X"
| "Y"
縦軸。"X"
、"Y"
、または "Z"
として指定します。この値は、点群の選択された軸を垂直方向に設定します。
VerticalAxisDir
— 縦軸の方向
"Up"
(既定値) | "Down"
縦軸の方向。"Up"
または "Down"
として指定します。
Projection
— 3 次元ビューのカメラ射影
"perspective"
(既定値) | "orthographic"
3 次元ビューのカメラ射影。次のいずれかの値として指定します。
"perspective"
— 表示するボリュームをピラミッド (底面と平行に頂点が切り取られたピラミッド) の錐台として投影します。カメラから離れているオブジェクトは小さく表示されます。短縮法によって距離が表されるため、3 次元オブジェクトの奥行きを認識できるようになります。この投影タイプは、実際のオブジェクトの現実的なビューを表示する場合に役立ちます。透視投影では、オブジェクトの相対的な寸法は保持されません。代わりに、遠くの線分が、同じ長さの近くの線分よりも小さく表示されます。データ内で平行な線が、シーン内で平行に表示されない場合があります。"orthographic"
— この投影タイプは、ビューアーから特定の点までの距離に関して、グラフィックス オブジェクトの正確な相対寸法を維持します。カメラからの相対距離は、オブジェクトのサイズに影響しません。データ内で平行な線は、画面上で平行に表示されます。この投影タイプは、オブジェクトの実際のサイズとオブジェクトの間の角度を維持することが重要な場合に役立ちます。
ViewPlane
— 点群を可視化する平面
"auto"
(既定値) | "XY"
| "YX"
| "XZ"
| "ZX"
| "YZ"
| "ZY"
点群を可視化する平面。"auto"
、"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
— 座標軸の可視性の状態
"on"
または 1
(true
) (既定値) | "off"
または 0
(false
)
座標軸の可視性の状態。"on"
または "off"
として指定するか、数値または logical の 0
(false
) または 1
(true
) として指定します。"on"
の値は true
と等価であり、"off"
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。この値は、matlab.lang.OnOffSwitchState
型の on/off の logical 値として格納されます。
"on"
— 座標軸とその子を表示します。"off"
— 座標軸を削除せずに非表示にします。ただし、非表示の axes オブジェクトのプロパティにアクセスすることはできます。(ラインなどの子オブジェクトは可視のままになります。)
Parent
— 可視化を表示する座標軸
Axes
グラフィックス オブジェクト
可視化を表示する座標軸。Axes
オブジェクトとして指定します。Axes
オブジェクトを作成するには、関数 axes
を使用します。新しい Figure に可視化を表示するには、Parent
を未指定のままにします。
出力引数
ax
— プロットの座標軸
Axes
グラフィックス オブジェクト
プロットの座標軸。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 選択した平面に配置されたカメラのプロットの中心に向かう視線。 | |
回転とパンの切り替え。 | 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
オブジェクトを使用します。
バージョン履歴
R2015b で導入R2022b: 既定の投影法が透視投影に変更
カメラの 3 次元ビュー表示の既定の投影法が、正投影から透視投影に変更されました。新しい名前と値の引数 Projection
を使用して、投影を "perspective"
または "orthographic"
として指定できます。R2022b より前では、表示は正投影ビューのみでの点群のレンダリングでした。
参考
オブジェクト
pcviewer
|pointCloud
|pcplayer
|planeModel
関数
showShape
|pcshowpair
|plot3
|pcwrite
|pcread
|pcmerge
|scatter3
|reconstructScene
|triangulate
|pcdownsample
|pcfitplane
|pcdenoise
|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)