Main Content

readField

(削除予定) フィールド名に基づいた点群データの読み取り

R2019b 以降

readField は将来のリリースで削除されます。代わりに rosReadField を使用してください。詳細については、ROS メッセージ構造体の関数を参照してください。

説明

fielddata = readField(pcloud,fieldname) は、PointCloud2 オブジェクト (pcloud) から fieldname によって指定された点フィールドを読み取り、それを fielddata で返します。fieldname が存在しない場合、この関数はエラーを表示します。点群データの構造を保持する方法については、点群の構造の保持を参照してください。

すべて折りたたむ

ROS 点群メッセージ ptcloud が含まれるサンプル ROS メッセージを読み込みます。

exampleHelperROSLoadMessages

点群メッセージで使用可能な 'x' フィールド名を読み取ります。

x = readField(ptcloud,'x');

入力引数

すべて折りたたむ

点群。sensor_msgs/PointCloud2 ROS メッセージの PointCloud2 オブジェクト ハンドルとして指定します。

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

出力引数

すべて折りたたむ

点群からのフィールド値のリスト。行列として返されます。行列の各行は点群の読み取り値です。ここで、n は点の数、c は各点の値の数です。読み取り中の点群オブジェクトで PreserveStructureOnRead プロパティが true に設定されている場合、点は h×w×c の行列として返されます。詳細については、点群の構造の保持を参照してください。

ヒント

点群データは、1 次元リストまたは 2 次元イメージの形式で整理できます。2 次元イメージ形式は、通常、深さセンサーまたはステレオ カメラから得られます。入力の PointCloud2 オブジェクトには、true または false (既定) のいずれかである PreserveStructureOnRead プロパティが含まれます。このプロパティを true に設定したとします。

pcloud.PreserveStructureOnRead = true;

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

バージョン履歴

R2019b で導入

すべて折りたたむ

R2021a: ROS メッセージ構造体の関数

これで、メッセージ オブジェクトのプロパティと一致するフィールドをもつ構造体としてメッセージを作成できます。通常、構造体を利用すると ROS メッセージの作成、更新、使用のパフォーマンスが向上しますが、設定時にメッセージのフィールドが検証されなくなります。メッセージ タイプと、構造体から取得した対応するフィールド値は、ネットワーク経由で送信されたときに検証されます。

メッセージ構造体を入力としてサポートするため、特殊な ROS メッセージに対して動作する新しい関数が導入されました。これらの新しい関数はメッセージ オブジェクトの既存のオブジェクト関数に基づいていますが、メッセージ オブジェクトの代わりに ROS および ROS 2 のメッセージ構造体を入力としてサポートします。

オブジェクト関数は将来のリリースで削除されます。

メッセージ タイプオブジェクト関数名新規関数名

Image

CompressedImage

readImage

writeImage

rosReadImage

rosWriteImage

LaserScan

readCartesian

readScanAngles

lidarScan

plot

rosReadCartesian

rosReadScanAngles

rosReadLidarScan

rosPlot

PointCloud2

apply

readXYZ

readRGB

readAllFieldNames

readField

scatter3

rosApplyTransform

rosReadXYZ

rosReadRGB

rosReadAllFieldNames

rosReadField

rosPlot

QuaternionreadQuaternion

rosReadQuaternion

OccupancyGrid

readBinaryOccupanyGrid

readOccupancyGrid

writeBinaryOccupanyGrid

writeOccupanyGrid

rosReadOccupancyGrid

rosReadBinaryOccupancyGrid

rosReadOccupancyGrid

rosWriteBinaryOccupancyGrid

rosWriteOccupancyGrid

OctomapreadOccupancyMap3D

rosReadOccupancyMap3D

PointStamped

PoseStamped

QuaternionStamped

Vector3Stamped

TransformStamped

apply

rosApplyTransform

すべてのメッセージshowdetails

rosShowDetails