CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | 静态 Public 成员函数 | Private 属性 | 所有成员列表
sensor_msgs::msg::Image类 参考

This class represents the structure Image defined by the user in the IDL file.这个类表示在 IDL(接口定义语言)文件中由用户定义的 Image 结构,用于特定的消息传递场景,可能与图像相关消息有关, 更多...

#include <Image.h>

+ sensor_msgs::msg::Image 的协作图:

Public 成员函数

eProsima_user_DllExport std::vector< uint8_t > & data ()
 This function returns a reference to member data
 
eProsima_user_DllExport const std::vector< uint8_t > & data () const
 
*eProsima_user_DllExport void data (const std::vector< uint8_t > &_data)
 
eProsima_user_DllExport void data (std::vector< uint8_t > &&_data)
 
eProsima_user_DllExport void deserialize (eprosima::fastcdr::Cdr &cdr)
 
eProsima_user_DllExport std::string & encoding ()
 
eProsima_user_DllExport const std::string & encoding () const
 This function returns a constant reference to member encoding
 
eProsima_user_DllExport void encoding (const std::string &_encoding)
 此函数复制成员变量 encoding 的值

 
eProsima_user_DllExport void encoding (std::string &&_encoding)
 此函数移动成员变量 encoding 的值

 
eProsima_user_DllExport std_msgs::msg::Header & header ()
 此函数返回成员变量 header 的引用

 
eProsima_user_DllExport const std_msgs::msg::Header & header () const
 此函数返回成员变量 header 的常量引用

 
eProsima_user_DllExport void header (const std_msgs::msg::Header &_header)
 此函数复制成员变量 header 的值

 
eProsima_user_DllExport void header (std_msgs::msg::Header &&_header)
 此函数移动成员变量 header 的值

 
eProsima_user_DllExport uint32_t & height ()
 此函数返回成员变量 height 的引用

 
eProsima_user_DllExport uint32_t height () const
 此函数返回成员变量 height 的值

 
eProsima_user_DllExport void height (uint32_t _height)
 此函数设置成员变量 height 的值

 
eProsima_user_DllExport Image ()
 
eProsima_user_DllExport Image (const Image &x)
 
eProsima_user_DllExport Image (Image &&x) noexcept
 
eProsima_user_DllExport uint8_t & is_bigendian ()
 
eProsima_user_DllExport uint8_t is_bigendian () const
 
eProsima_user_DllExport void is_bigendian (uint8_t _is_bigendian)
 
eProsima_user_DllExport bool operator!= (const Image &x) const
 
eProsima_user_DllExport Imageoperator= (const Image &x)
 
eProsima_user_DllExport Imageoperator= (Image &&x) noexcept
 
eProsima_user_DllExport bool operator== (const Image &x) const
 
eProsima_user_DllExport void serialize (eprosima::fastcdr::Cdr &cdr) const
 
eProsima_user_DllExport void serializeKey (eprosima::fastcdr::Cdr &cdr) const
 
eProsima_user_DllExport uint32_t & step ()
 
eProsima_user_DllExport uint32_t step () const
 
eProsima_user_DllExport void step (uint32_t _step)
 
eProsima_user_DllExport uint32_t & width ()
 此函数返回成员变量 width 的引用

 
eProsima_user_DllExport uint32_t width () const
 此函数返回成员变量 width 的值

 
eProsima_user_DllExport void width (uint32_t _width)
 此函数设置成员变量 width 的值

 
eProsima_user_DllExport ~Image ()
 

静态 Public 成员函数

static eProsima_user_DllExport size_t getCdrSerializedSize (const sensor_msgs::msg::Image &data, size_t current_alignment=0)
 
static eProsima_user_DllExport size_t getKeyMaxCdrSerializedSize (size_t current_alignment=0)
 
static eProsima_user_DllExport size_t getMaxCdrSerializedSize (size_t current_alignment=0)
 
static eProsima_user_DllExport bool isKeyDefined ()
 

Private 属性

std::vector< uint8_t > m_data
 
std::string m_encoding
 
std_msgs::msg::Header m_header
 
uint32_t m_height
 
uint8_t m_is_bigendian
 
uint32_t m_step
 
uint32_t m_width
 

详细描述

This class represents the structure Image defined by the user in the IDL file.

这个类表示在 IDL(接口定义语言)文件中由用户定义的 Image 结构,用于特定的消息传递场景,可能与图像相关消息有关,

在文件 ros2/types/Image.h96 行定义.

构造及析构函数说明

◆ Image() [1/3]

sensor_msgs::msg::Image::Image ( )

在文件 Image.cpp51 行定义.

引用了 m_encoding, m_height, m_is_bigendian, m_step , 以及 m_width.

◆ ~Image()

sensor_msgs::msg::Image::~Image ( )

这是默认析构函数,用于在对象生命周期结束时进行资源清理等相关操作(比如释放动态分配的内存等,如果有相关需求)

在文件 Image.cpp69 行定义.

◆ Image() [2/3]

sensor_msgs::msg::Image::Image ( const Image & x)

拷贝构造函数,通过传入一个已有的 Image 类对象的引用 x,创建一个新的 Image 对象,新对象的成员值将和传入的对象相同(进行深拷贝或浅拷贝,具体看内部实现)

在文件 Image.cpp74 行定义.

引用了 m_data, m_encoding, m_header, m_height, m_is_bigendian, m_step , 以及 m_width.

◆ Image() [3/3]

sensor_msgs::msg::Image::Image ( Image && x)
noexcept

移动构造函数,通过传入一个已有的 Image 类对象的引用 x,将 x 的资源所有权转移到新创建的 Image 对象中(常用于优化对象传递时的性能,避免不必要的拷贝)

在文件 Image.cpp94 行定义.

成员函数说明

◆ data() [1/4]

std::vector< uint8_t > & sensor_msgs::msg::Image::data ( )

This function returns a reference to member data

此函数返回当前 Image 对象中 m_data 成员的普通引用,外部可以通过这个引用获取和修改图像数据(与上面的常量引用函数对应,用于需要修改图像数据的场景)

返回
Reference to member data

在文件 Image.cpp444 行定义.

◆ data() [2/4]

此函数返回成员data的常引用,用于获取图像数据,但不允许通过该引用修改成员data的值 成员data的常引用,指向存储图像数据的向量 const std::vector< uint8_t > & sensor_msgs::msg::Image::data ( ) const

此函数返回当前 Image 对象中 m_data 成员的常量引用,外部可以通过这个引用获取图像数据但不能修改它(保证了数据的只读性,符合某些场景需求)

在文件 Image.cpp434 行定义.

◆ data() [3/4]

要复制到成员data中的新值,是一个包含uint8_t类型元素的向量,代表图像数据 void sensor_msgs::msg::Image::data ( const std::vector< uint8_t > & _data)

此函数用于将传入的 _data(类型为 std::vector<uint8_t>,即字节数组,可能表示图像的像素数据等)的值拷贝到当前 Image 对象的 m_data 成员中,实现对图像数据的设置

在文件 Image.cpp416 行定义.

被这些函数引用 getCdrSerializedSize().

+ 这是这个函数的调用关系图:

◆ data() [4/4]

要移动到成员data中的新值,是一个包含uint8_t类型元素的向量,代表图像数据 void sensor_msgs::msg::Image::data ( std::vector< uint8_t > && _data)

此函数用于将传入的 _data(类型为 std::vector<uint8_t>,即字节数组,可能表示图像的像素数据等)的值移动到当前 Image 对象的 m_data 成员中,实现对图像数据的设置,移动操作可能更高效地处理资源所有权转移

在文件 Image.cpp425 行定义.

◆ deserialize()

void sensor_msgs::msg::Image::deserialize ( eprosima::fastcdr::Cdr & cdr)
       此函数与上面的serialize函数相对应,用于将已经按照CDR序列化后的字节流(通过参数cdr关联的对象来表示)反序列化,恢复成一个Image类对象。

也就是从传输过来的或者从存储中读取的字节流数据,根据CDR的反序列化规则,重新构建出对应的Image类对象,使得对象可以在程序中继续进行后续的处理操作。

在文件 Image.cpp220 行定义.

被这些函数引用 sensor_msgs::msg::ImagePubSubType::deserialize().

+ 这是这个函数的调用关系图:

◆ encoding() [1/4]

std::string & sensor_msgs::msg::Image::encoding ( )

此函数返回当前 Image 对象中 m_encoding 成员的普通引用,外部可以通过这个引用获取和修改图像编码格式相关信息(与上面的常量引用函数对应,用于需要修改图像编码格式的场景)

在文件 Image.cpp370 行定义.

◆ encoding() [2/4]

const std::string & sensor_msgs::msg::Image::encoding ( ) const

This function returns a constant reference to member encoding

此函数返回当前 Image 对象中 m_encoding 成员的常量引用,外部可以通过这个引用获取图像编码格式相关信息但不能修改它(保证了数据的只读性,符合某些场景需求)

返回
Constant reference to member encoding

在文件 Image.cpp364 行定义.

◆ encoding() [3/4]

void sensor_msgs::msg::Image::encoding ( const std::string & _encoding)

此函数复制成员变量 encoding 的值

此函数用于将传入的 _encoding(类型为 std::string)的值拷贝到当前 Image 对象的 m_encoding 成员中,这个成员可能表示图像的编码格式相关信息

参数
_encoding要复制的新编码值

在文件 Image.cpp341 行定义.

被这些函数引用 getCdrSerializedSize().

+ 这是这个函数的调用关系图:

◆ encoding() [4/4]

void sensor_msgs::msg::Image::encoding ( std::string && _encoding)

此函数移动成员变量 encoding 的值

此函数用于将传入的 _encoding(类型为 std::string)的值移动到当前 Image 对象的 m_encoding 成员中,这个成员可能表示图像的编码格式相关信息,移动操作可能更高效地处理资源所有权转移

参数
_encoding要移动的新编码值

在文件 Image.cpp352 行定义.

◆ getCdrSerializedSize()

size_t sensor_msgs::msg::Image::getCdrSerializedSize ( const sensor_msgs::msg::Image & data,
size_t current_alignment = 0 )
static
       这个函数的功能是根据缓冲区对齐方式,返回给定的Image类对象(通过参数data传入)序列化后的尺寸(字节数)。

参数data是要计算序列化尺寸的具体Image类对象,current_alignment则是缓冲区对齐方式参数,同样若不传则使用默认值0。 该函数返回对应的序列化后的准确尺寸,有助于精确地分配内存、进行数据传输等操作中判断所需空间大小。

在文件 Image.cpp180 行定义.

引用了 current_alignment, data(), encoding(), header() , 以及 initial_alignment.

被这些函数引用 sensor_msgs::msg::ImagePubSubType::getSerializedSizeProvider().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ getKeyMaxCdrSerializedSize()

size_t sensor_msgs::msg::Image::getKeyMaxCdrSerializedSize ( size_t current_alignment = 0)
static
        这个函数用于返回一个对象(这里也是针对Image类对象)的键(Key,可能用于在某些数据结构、传输场景中唯一标识该对象等用途)根据缓冲区对齐方式的情况下,所能序列化后的最大尺寸(字节数)。

参数current_alignment指定了当前的缓冲区对齐方式,默认值为0(其含义取决于具体的序列化相关实现细节)。 返回的最大序列化尺寸值可帮助提前规划键序列化操作所需的空间等情况

在文件 Image.cpp452 行定义.

引用了 current_alignment , 以及 sensor_msgs_msg_Image_max_key_cdr_typesize.

被这些函数引用 sensor_msgs::msg::ImagePubSubType::getKey() , 以及 sensor_msgs::msg::ImagePubSubType::ImagePubSubType().

+ 这是这个函数的调用关系图:

◆ getMaxCdrSerializedSize()

size_t sensor_msgs::msg::Image::getMaxCdrSerializedSize ( size_t current_alignment = 0)
static
       此函数用于返回一个对象(这里指的是Image类的对象)根据缓冲区对齐方式的情况下,所能序列化后的最大尺寸(字节数)。

参数current_alignment用于指定当前的缓冲区对齐方式,如果调用时不传入该参数,则使用默认值0(具体含义可能取决于具体的序列化实现机制)。 返回值是根据相应条件计算得到的最大序列化尺寸,可用于提前预估序列化操作所需的缓冲区大小等情况。

在文件 Image.cpp172 行定义.

引用了 current_alignment , 以及 sensor_msgs_msg_Image_max_cdr_typesize.

被这些函数引用 sensor_msgs::msg::ImagePubSubType::ImagePubSubType().

+ 这是这个函数的调用关系图:

◆ header() [1/4]

std_msgs::msg::Header & sensor_msgs::msg::Image::header ( )

此函数返回成员变量 header 的引用

此函数返回当前 Image 对象中 m_header 成员的普通引用,外部可以通过这个引用获取和修改头部信息(与上面的常量引用函数对应,用于需要修改头部信息的场景)

返回
成员变量 header 的引用

在文件 Image.cpp269 行定义.

◆ header() [2/4]

const std_msgs::msg::Header & sensor_msgs::msg::Image::header ( ) const

此函数返回成员变量 header 的常量引用

此函数返回当前 Image 对象中 m_header 成员的常量引用,外部可以通过这个引用获取头部信息但不能修改它(保证了数据的只读性,符合某些场景需求)

返回
成员变量 header 的常量引用

在文件 Image.cpp259 行定义.

◆ header() [3/4]

void sensor_msgs::msg::Image::header ( const std_msgs::msg::Header & _header)

此函数复制成员变量 header 的值

此函数用于将传入的 _header(类型为 std_msgs::msg::Header)的值拷贝到当前 Image 对象的 m_header 成员中,实现对头部信息的设置(可能是图像消息头部相关信息)

参数
_header要复制的新值

在文件 Image.cpp237 行定义.

被这些函数引用 getCdrSerializedSize().

+ 这是这个函数的调用关系图:

◆ header() [4/4]

void sensor_msgs::msg::Image::header ( std_msgs::msg::Header && _header)

此函数移动成员变量 header 的值

此函数用于将传入的 _header(类型为 std_msgs::msg::Header)的值移动到当前 Image 对象的 m_header 成员中,实现对头部信息的设置(可能是图像消息头部相关信息),移动操作可能更高效地处理资源所有权转移

参数
_header要移动的新值

在文件 Image.cpp248 行定义.

◆ height() [1/3]

uint32_t & sensor_msgs::msg::Image::height ( )

此函数返回成员变量 height 的引用

此函数返回当前 Image 对象中 m_height 成员的引用,外部可以通过这个引用获取和修改图像高度相关信息

返回
成员变量 height 的引用

在文件 Image.cpp300 行定义.

◆ height() [2/3]

uint32_t sensor_msgs::msg::Image::height ( ) const

此函数返回成员变量 height 的值

此函数返回当前 Image 对象中 m_height 成员的值,即获取图像高度相关信息

返回
成员变量 height 的值

在文件 Image.cpp290 行定义.

◆ height() [3/3]

void sensor_msgs::msg::Image::height ( uint32_t _height)

此函数设置成员变量 height 的值

此函数用于设置当前 Image 对象中 m_height 成员的值,这个成员可能表示图像的高度相关信息

参数
_height新的高度值

在文件 Image.cpp279 行定义.

◆ is_bigendian() [1/3]

uint8_t & sensor_msgs::msg::Image::is_bigendian ( )

此函数返回当前 Image 对象中 m_is_bigendian 成员的引用,外部可以通过这个引用获取和修改图像数据存储是否是大端序相关信息

在文件 Image.cpp389 行定义.

◆ is_bigendian() [2/3]

uint8_t sensor_msgs::msg::Image::is_bigendian ( ) const

此函数返回当前 Image 对象中 m_is_bigendian 成员的值,即获取图像数据存储是否是大端序相关信息

在文件 Image.cpp383 行定义.

◆ is_bigendian() [3/3]

void sensor_msgs::msg::Image::is_bigendian ( uint8_t _is_bigendian)

此函数用于设置当前 Image 对象中 m_is_bigendian 成员的值,这个成员可能用于表示图像数据存储是否是大端序相关信息

在文件 Image.cpp376 行定义.

◆ isKeyDefined()

bool sensor_msgs::msg::Image::isKeyDefined ( )
static
        此函数用于判断对于当前的Image类型,是否已经定义了键(Key)。返回值是一个布尔类型,若返回true表示已经定义了键,返回false则表示未定义。

可用于在一些依赖键进行操作的逻辑中,提前判断是否可以进行相关键相关的处理,比如根据键进行查找、比对等操作。

在文件 Image.cpp461 行定义.

被这些函数引用 sensor_msgs::msg::ImagePubSubType::ImagePubSubType().

+ 这是这个函数的调用关系图:

◆ operator!=()

bool sensor_msgs::msg::Image::operator!= ( const Image & x) const

不等比较运算符重载,与上面的相等比较运算符相对应,用于比较当前的 Image 对象和传入的 Image 对象 x 是否不相等,返回一个布尔值表示比较结果

在文件 Image.cpp165 行定义.

◆ operator=() [1/2]

sensor_msgs::msg::Image & sensor_msgs::msg::Image::operator= ( const Image & x)

拷贝赋值运算符重载,用于将一个已有的 Image 类对象(通过引用 x 传入)的值赋值给当前的 Image 对象(同样涉及深拷贝或浅拷贝相关操作,要保证赋值后的对象状态符合预期

在文件 Image.cpp114 行定义.

引用了 m_data, m_encoding, m_header, m_height, m_is_bigendian, m_step , 以及 m_width.

◆ operator=() [2/2]

sensor_msgs::msg::Image & sensor_msgs::msg::Image::operator= ( Image && x)
noexcept

移动赋值运算符重载,用于将一个已有的 Image 类对象(通过引用 x 传入)的资源所有权转移给当前的 Image 对象,实现高效的资源转移(避免不必要的拷贝开销)

在文件 Image.cpp136 行定义.

◆ operator==()

bool sensor_msgs::msg::Image::operator== ( const Image & x) const

相等比较运算符重载,用于比较当前的 Image 对象和传入的 Image 对象 x 是否相等,返回一个布尔值表示比较结果

在文件 Image.cpp158 行定义.

引用了 m_data, m_encoding, m_header, m_height, m_is_bigendian, m_step , 以及 m_width.

◆ serialize()

void sensor_msgs::msg::Image::serialize ( eprosima::fastcdr::Cdr & cdr) const
         此函数用于将当前的Image类对象按照CDR(Common Data Representation,一种数据序列化表示方式)序列化机制进行序列化操作。

参数cdr是一个用于执行CDR序列化操作的对象,在函数内部会通过它来将Image类对象的各个成员变量按照相应规则转化为可传输、存储的序列化格式。 一般用于将对象转换为字节流等形式以便在网络传输、文件存储等场景下使用。

在文件 Image.cpp207 行定义.

被这些函数引用 sensor_msgs::msg::ImagePubSubType::serialize().

+ 这是这个函数的调用关系图:

◆ serializeKey()

void sensor_msgs::msg::Image::serializeKey ( eprosima::fastcdr::Cdr & cdr) const
        此函数的作用是按照CDR序列化机制,对当前Image类对象中用于作为键(Key)的相关成员变量进行序列化操作。

参数cdr是执行CDR序列化的对象,通过它将与键相关的成员按照相应规则转换为序列化格式,常用于针对键进行单独处理的场景,比如在某些基于键值对的数据存储、检索系统中使用。

在文件 Image.cpp468 行定义.

被这些函数引用 sensor_msgs::msg::ImagePubSubType::getKey().

+ 这是这个函数的调用关系图:

◆ step() [1/3]

uint32_t & sensor_msgs::msg::Image::step ( )

此函数返回当前 Image 对象中 m_step 成员的引用,外部可以通过这个引用获取和修改图像每行数据的字节跨度等相关信息

在文件 Image.cpp408 行定义.

◆ step() [2/3]

uint32_t sensor_msgs::msg::Image::step ( ) const

此函数返回当前 Image 对象中 m_step 成员的值,即获取图像每行数据的字节跨度等相关信息

在文件 Image.cpp402 行定义.

◆ step() [3/3]

void sensor_msgs::msg::Image::step ( uint32_t _step)

此函数用于设置当前 Image 对象中 m_step 成员的值,这个成员可能表示图像每行数据的字节跨度等相关信息(比如在处理图像像素数据存储布局方面有用)

在文件 Image.cpp395 行定义.

◆ width() [1/3]

uint32_t & sensor_msgs::msg::Image::width ( )

此函数返回成员变量 width 的引用

此函数返回当前 Image 对象中 m_width 成员的引用,外部可以通过这个引用获取和修改图像宽度相关信息

返回
成员变量 width 的引用

在文件 Image.cpp331 行定义.

◆ width() [2/3]

uint32_t sensor_msgs::msg::Image::width ( ) const

此函数返回成员变量 width 的值

此函数返回当前 Image 对象中 m_width 成员的值,即获取图像宽度相关信息

返回
成员变量 width 的值

在文件 Image.cpp321 行定义.

◆ width() [3/3]

void sensor_msgs::msg::Image::width ( uint32_t _width)

此函数设置成员变量 width 的值

此函数用于设置当前 Image 对象中 m_width 成员的值,这个成员可能表示图像的宽度相关信息

参数
_width新的宽度值

在文件 Image.cpp310 行定义.

类成员变量说明

◆ m_data

std::vector<uint8_t> sensor_msgs::msg::Image::m_data
private

在文件 ros2/types/Image.h346 行定义.

被这些函数引用 Image(), operator=() , 以及 operator==().

◆ m_encoding

std::string sensor_msgs::msg::Image::m_encoding
private

在文件 ros2/types/Image.h340 行定义.

被这些函数引用 Image(), Image(), operator=() , 以及 operator==().

◆ m_header

std_msgs::msg::Header sensor_msgs::msg::Image::m_header
private

在文件 ros2/types/Image.h334 行定义.

被这些函数引用 Image(), operator=() , 以及 operator==().

◆ m_height

uint32_t sensor_msgs::msg::Image::m_height
private

在文件 ros2/types/Image.h336 行定义.

被这些函数引用 Image(), Image(), operator=() , 以及 operator==().

◆ m_is_bigendian

uint8_t sensor_msgs::msg::Image::m_is_bigendian
private

在文件 ros2/types/Image.h342 行定义.

被这些函数引用 Image(), Image(), operator=() , 以及 operator==().

◆ m_step

uint32_t sensor_msgs::msg::Image::m_step
private

在文件 ros2/types/Image.h344 行定义.

被这些函数引用 Image(), Image(), operator=() , 以及 operator==().

◆ m_width

uint32_t sensor_msgs::msg::Image::m_width
private

在文件 ros2/types/Image.h338 行定义.

被这些函数引用 Image(), Image(), operator=() , 以及 operator==().


该类的文档由以下文件生成: