画像のピクセルフォーマット(エンコーディング)
画像データを別のプロセスに伝えるとき、ピクセルフォーマットを伝える必要があります。
この画像のピクセルフォーマットを表す値について、各ソフトウェアでバラバラです。
モータもバラバラです。というかそれ以前の問題でした。
nullpo24.hatenablog.com
例えば、ROS2は以下のように、
sensor_msgs: image_encodings.h Source File
定義が決められています。
というか言葉もピクセルフォーマットとエンコーディングでバラバラですね。
そして産業用カメラ業界では以下のようのピクセルフォーマットが定義されています。
https://www.emva.org/wp-content/uploads/PFNC.h
コンピュータは0,1で表される情報理論の世界です。
画像もまた0,1の世界です。
定義を揃えなければ(型がなければ)、意味が破綻します。
ROS2はMsgクラスで
sensor_msgs Msg/Srv Documentation
定義を揃えます。 (インターフェース)
また、ROS2のsensor_msgs/Image Messageは以下のような値をSetするよう求められます。
sensor_msgs/Image Documentation
ROSとOpenCVの場合
たとえ、同じStringでもやはりソフトウェアによって定義はバラバラです。
メジャーなソフトウェアは有志がBridgeを作成しています。
cv_bridge/Tutorials/ConvertingBetweenROSImagesAndOpenCVImagesPython - ROS Wiki