Main Content

rosReadField

フィールド名に基づいて ROS または ROS 2 メッセージ構造体から点群データを読み取る

R2021a 以降

説明

fielddata = rosReadField(pcloud,fieldname) は、ROS または ROS 2 'sensor_msgs/PointCloud2' メッセージ構造体 (pcloud) から fieldname によって指定された点フィールドを読み取り、それを fielddata で返します。

fielddata = rosReadField(pcloud,fieldname,"PreserveStructureOnRead",true) は、出力 fielddata で返される点群フィールド データの組織的な構造を保持します。詳細については、点群の構造の保持を参照してください。

fielddata = rosReadField(pcloud,fieldname,"Datatype","double") は、コード生成時に倍精度で点フィールド データを読み取ります。MATLAB® 実行でこの構文を使用した場合、関数は、入力メッセージ構造体 pcloud の対応するフィールドで指定された精度でデータを常に読み取ります。

入力引数

すべて折りたたむ

点群。ROS または ROS 2 'sensor_msgs/PointCloud2' メッセージのメッセージ構造体として指定します。

点群データのフィールド名。string スカラーまたは文字ベクトルとして指定します。この string はフィールド名と厳密に一致しなければなりません。fieldname が存在しない場合、この関数はエラーを表示します。

出力引数

すべて折りたたむ

点群からのフィールド値のリスト。行列として返されます。行列の各行は点群の読み取り値です。ここで、n は点の数、c は各点の値の数です。

名前と値のペアの引数 PreserveStructureOnReadtrue に設定されている場合、点は h×w×c の行列として返されます。

ヒント

点群データは、1 次元リストまたは 2 次元イメージの形式で整理できます。2 次元イメージ形式は、通常、深さセンサーまたはステレオ カメラから得られます。関数 rosReadField には、true または false (既定) に設定できる、PreserveStructureOnRead 入力の Name,Value 引数が含まれています。引数を true に設定すると、関数は点群の組織的な構造を保持します。

rgb = rosReadField(pcloud,"PreserveStructureOnRead",true)

構造を保持する場合、出力行列のサイズは m×n×d になります。ここで m は高さ、n は幅、d は各点の戻り値の数です。それ以外の場合、すべての点は x 行 d 列のリストとして返されます。この構造は、点群がオーガナイズドの場合にのみ保持することができます。

拡張機能

バージョン履歴

R2021a で導入