Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

rosReadImage

ROS イメージ データを MATLAB イメージに変換

説明

img = rosReadImage(msg) は、メッセージ構造体内の生イメージ データ (msg) をイメージ行列 (img) に変換します。'sensor_msgs/Image' メッセージまたは 'sensor_msgs/CompressedImage' メッセージのいずれかを使用して rosReadImage を呼び出すことができます。

ROS イメージ メッセージ データは、MATLAB® の他の画像処理と互換性のない形式で保存されます。指定したエンコードに基づいて、この関数はデータを該当する MATLAB イメージに変換し、img に返します。

msgOut = rosReadImage(___,"Encoding",encodingParam) は、前述の入力引数のいずれかを使用して、イメージ メッセージのエンコードを名前と値の引数として指定します。メッセージの Encoding フィールドが設定されていない場合、この構文を使用してこのフィールドを設定します。

[img,alpha] = rosReadImage(___) は、イメージのアルファ チャネルを alpha に返します。イメージにアルファ チャネルがない場合、alpha は空になります。

入力引数

すべて折りたたむ

'sensor_msgs/Image' または 'sensor_msgs/CompressedImage' の ROS イメージ メッセージ。Image メッセージ構造体または Compressed Image メッセージ構造体として指定します。

イメージ メッセージのエンコード。string スカラーとして指定します。この入力引数を使用すると、入力 msgEncoding フィールドが上書きされます。詳細については、サポートされているイメージのエンコードを参照してください。

出力引数

すべて折りたたむ

イメージ。センサー イメージに応じて、グレースケールまたは RGB イメージを表す行列か、m x n x 3 の配列として返されます。

アルファ チャネル。uint8 グレースケール イメージとして返されます。アルファ チャネルが存在しない場合、alpha は空になります。

メモ

CompressedImage メッセージに対して、アルファ チャネルは出力できません。

ヒント

ROS イメージ メッセージは、異なるエンコードをもつことができます。イメージでサポートされるエンコードは、'sensor_msgs/Image' および 'sensor_msgs/CompressedImage' メッセージ タイプで異なります。より少ない圧縮イメージがサポートされています。'sensor_msgs/Image' メッセージ タイプを使用したサイズ M-by-N の生イメージに対する次のエンコードがサポートされています ('sensor_msgs/CompressedImage' のサポートは太字)。

  • rgb8, rgba8, bgr8, bgra8: img はサイズ M-by-N-by-3 の rgb イメージです。アルファ チャネルは alpha で返されます。出力の各値は uint8 として表されます。

  • rgb16, rgba16, bgr16, and bgra16: img はサイズ M-by-N-by-3 の RGB イメージです。アルファ チャネルは alpha で返されます。出力の各値は uint16 として表されます。

  • mono8 イメージはサイズ M-by-N-by-1 のグレースケール イメージとして返されます。各ピクセル値は uint8 として表されます。

  • mono16 イメージはサイズ M-by-N-by-1 のグレースケール イメージとして返されます。各ピクセル値は uint16 として表されます。

  • 32fcX イメージはサイズ M-by-N-by-D の浮動小数点イメージとして返されます。ここで D は 1、2、3 または 4 になります。各ピクセル値は single として表されます。

  • 64fcX イメージはサイズ M-by-N-by-D の浮動小数点イメージとして返されます。ここで D は 1、2、3 または 4 になります。各ピクセル値は double として表されます。

  • 8ucX イメージはサイズ M-by-N-by-D の行列として返されます。ここで D は 1、2、3 または 4 になります。各ピクセル値は uint8 として表されます。

  • 8scX イメージはサイズ M-by-N-by-D の行列として返されます。ここで D は 1、2、3 または 4 になります。各ピクセル値は int8 として表されます。

  • 16ucX イメージはサイズ M-by-N-by-D の行列として返されます。ここで D は 1、2、3 または 4 になります。各ピクセル値は int16 として表されます。

  • 16scX イメージはサイズ M-by-N-by-D の行列として返されます。ここで D は 1、2、3 または 4 になります。各ピクセル値は int16 として表されます。

  • 32scX イメージはサイズ M-by-N-by-D の行列として返されます。ここで D は 1、2、3 または 4 になります。各ピクセル値は int32 として表されます。

  • bayer_X イメージは、サイズ M-by-N-by-1 の Bayer 行列、またはサイズ M-by-N-by-3 の変換済みのイメージのいずれかとして返されます (Image Processing Toolbox™ が必要です)。

'sensor_msgs/CompressedImage' メッセージ タイプを使用したサイズ M-by-N の生イメージに対する次のエンコードがサポートされています。

  • rgb8, rgba8, bgr8, and bgra8: img はサイズ M-by-N-by-3 の rgb イメージです。アルファ チャネルは alpha で返されます。各出力値は uint8 として表されます。

拡張機能

R2021a で導入