RMVL  1.2.0
Robotic Manipulation and Vision Library
Public 类型 | Public 成员函数 | 静态 Public 成员函数 | 所有成员列表

装甲模块组合特征 更多...

#include <rmvl/combo/armor.h>

类 rm::Armor 继承关系图:
rm::Armor 的协作图:

Public 类型

using ptr = std::shared_ptr< Armor >
 
using const_ptr = std::shared_ptr< const Armor >
 
- Public 类型 继承自 rm::combo
using ptr = std::shared_ptr< combo >
 
using const_ptr = std::shared_ptr< const combo >
 

Public 成员函数

 Armor ()=delete
 
 Armor (const Armor &)=delete
 
 Armor (Armor &&)=delete
 
 Armor (LightBlob::ptr, LightBlob::ptr, const GyroData &, double, float, float, float, float, float, float, float, ArmorSizeType)
 
float getComboRatio ()
 获取组合特征宽高比 更多...
 
float getWidthRatio ()
 获取左右灯条宽度的比值 更多...
 
float getLengthRatio ()
 获取左右灯条长度的比值 更多...
 
float getCornerAngle ()
 获取左右灯条错位角 更多...
 
float getError ()
 获取匹配误差 更多...
 
ArmorSizeType getArmorType ()
 获取装甲板大小类型 更多...
 
void setType (RobotType stat)
 设置机器人类型 RobotType 更多...
 
void setExtrinsic (const CameraExtrinsics &extrinsic)
 设置相机外参 更多...
 
const cv::Vec2f & getPose () const
 获取装甲板姿态法向量 更多...
 
- Public 成员函数 继承自 rm::combo
virtual ~combo ()=0
 
float getHeight () const
 获取组合体高度 更多...
 
float getWidth () const
 获取组合体宽度 更多...
 
float getAngle () const
 获取组合体角度 更多...
 
cv::Point2f getCenter () const
 获取组合体中心点 更多...
 
const std::vector< cv::Point2f > & getCorners () const
 获取组合体角点 更多...
 
const CameraExtrinsicsgetExtrinsics () const
 获取组合体相机外参 更多...
 
RMStatus getType () const
 获取组合体类型 更多...
 
double getTick () const
 获取捕获该组合体的时间点 更多...
 
cv::Point2f getRelativeAngle () const
 获取组合体的相对目标转角 更多...
 
const GyroDatagetGyroData () const
 获取组合体当前的陀螺仪数据 更多...
 
feature::ptr at (size_t idx)
 获取指定特征 更多...
 
const feature::const_ptr at (size_t idx) const
 获取指定特征 更多...
 
const auto & data () const
 获取特征列表数据 更多...
 
size_t size () const
 获取特征列表大小 更多...
 
bool empty () const
 判断特征列表是否为空 更多...
 

静态 Public 成员函数

static Armor::ptr make_combo (LightBlob::ptr p_left, LightBlob::ptr p_right, const GyroData &gyro_data, double tick, ArmorSizeType armor_size_type=ArmorSizeType::UNKNOWN)
 Armor 构造接口 更多...
 
static Armor::ptr cast (combo::ptr p_combo)
 动态类型转换 更多...
 
static Armor::const_ptr cast (combo::const_ptr p_combo)
 动态类型转换 更多...
 
static void loadSVM (const std::string &path)
 加载 SVM 装甲板大小分类的 *.xml 文件 更多...
 
static void gyroConvertToCamera (const cv::Matx33f &gyro_rmat, const cv::Vec3f &gyro_tvec, const GyroData &gyro_data, cv::Matx33f &cam_rmat, cv::Vec3f &cam_tvec)
 装甲板相机外参从陀螺仪坐标系转化为相机坐标系 更多...
 
static void cameraConvertToGyro (const cv::Matx33f &cam_rmat, const cv::Vec3f &cam_tvec, const GyroData &gyro_data, cv::Matx33f &gyro_rmat, cv::Vec3f &gyro_tvec)
 装甲板相机外参从相机坐标系转化为陀螺仪坐标系 更多...
 
static bool isContainBlob (LightBlob::ptr blob, Armor::ptr armor)
 判断单个装甲板所在区域内是否包含指定的灯条 更多...
 
static cv::Mat getNumberROI (cv::Mat src, combo::ptr p_combo)
 根据图像中指定装甲板的信息,截取仅包含数字的 ROI 更多...
 

额外继承的成员函数

- Protected 属性 继承自 rm::combo
std::vector< feature::ptr_features
 特征列表 更多...
 
float _height {}
 高度 更多...
 
float _width {}
 宽度 更多...
 
float _angle {}
 角度 更多...
 
RMStatus _type {}
 类型 更多...
 
cv::Point2f _center
 中心点 更多...
 
cv::Point2f _relative_angle
 相对目标转角 更多...
 
GyroData _gyro_data
 当前陀螺仪数据 更多...
 
std::vector< cv::Point2f > _corners
 角点 更多...
 
CameraExtrinsics _extrinsic
 相机外参 更多...
 
double _tick {}
 捕获该组合体时的时间点 更多...
 

详细描述

装甲模块组合特征

注解
特征包括 [0]: 左灯条,[1]: 右灯条
角点为 [0]: 左灯条下顶点,[1]: 左灯条上顶点,[2]: 右灯条上顶点,[3]: 右灯条下顶点

成员类型定义说明

◆ const_ptr

using rm::Armor::const_ptr = std::shared_ptr<const Armor>

◆ ptr

using rm::Armor::ptr = std::shared_ptr<Armor>

构造及析构函数说明

◆ Armor() [1/4]

rm::Armor::Armor ( )
delete

◆ Armor() [2/4]

rm::Armor::Armor ( const Armor )
delete

◆ Armor() [3/4]

rm::Armor::Armor ( Armor &&  )
delete

◆ Armor() [4/4]

rm::Armor::Armor ( LightBlob::ptr  ,
LightBlob::ptr  ,
const GyroData ,
double  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
ArmorSizeType   
)
警告
禁止直接使用构造函数

成员函数说明

◆ cameraConvertToGyro()

static void rm::Armor::cameraConvertToGyro ( const cv::Matx33f &  cam_rmat,
const cv::Vec3f &  cam_tvec,
const GyroData gyro_data,
cv::Matx33f &  gyro_rmat,
cv::Vec3f &  gyro_tvec 
)
static

装甲板相机外参从相机坐标系转化为陀螺仪坐标系

参数
[in]cam_rmat相机坐标系下的装甲板旋转矩阵
[in]cam_tvec相机坐标系下的装甲板平移向量
[in]gyro_data陀螺仪数据信息
[out]gyro_rmat陀螺仪坐标系下的装甲板旋转矩阵
[out]gyro_tvec陀螺仪坐标系下的装甲板平移向量

◆ cast() [1/2]

static Armor::const_ptr rm::Armor::cast ( combo::const_ptr  p_combo)
inlinestatic

动态类型转换

参数
[in]p_combocombo::const_ptr 抽象指针
返回
派生对象指针

◆ cast() [2/2]

static Armor::ptr rm::Armor::cast ( combo::ptr  p_combo)
inlinestatic

动态类型转换

参数
[in]p_combocombo::ptr 抽象指针
返回
派生对象指针
示例
samples/detector/hik/sample_hik_armor_size_classify.cpp , 以及 samples/detector/mv/sample_mv_armor_size_classify.cpp.

◆ getArmorType()

ArmorSizeType rm::Armor::getArmorType ( )
inline

获取装甲板大小类型

◆ getComboRatio()

float rm::Armor::getComboRatio ( )
inline

获取组合特征宽高比

◆ getCornerAngle()

float rm::Armor::getCornerAngle ( )
inline

获取左右灯条错位角

◆ getError()

float rm::Armor::getError ( )
inline

获取匹配误差

◆ getLengthRatio()

float rm::Armor::getLengthRatio ( )
inline

获取左右灯条长度的比值

◆ getNumberROI()

static cv::Mat rm::Armor::getNumberROI ( cv::Mat  src,
combo::ptr  p_combo 
)
static

根据图像中指定装甲板的信息,截取仅包含数字的 ROI

参数
[in]src输入图像
[in]p_combo指定的参考装甲板
返回
ROI
示例
samples/detector/hik/sample_hik_armor_collection.cpp.

◆ getPose()

const cv::Vec2f& rm::Armor::getPose ( ) const
inline

获取装甲板姿态法向量

◆ getWidthRatio()

float rm::Armor::getWidthRatio ( )
inline

获取左右灯条宽度的比值

◆ gyroConvertToCamera()

static void rm::Armor::gyroConvertToCamera ( const cv::Matx33f &  gyro_rmat,
const cv::Vec3f &  gyro_tvec,
const GyroData gyro_data,
cv::Matx33f &  cam_rmat,
cv::Vec3f &  cam_tvec 
)
static

装甲板相机外参从陀螺仪坐标系转化为相机坐标系

参数
[in]gyro_rmat陀螺仪坐标系下的装甲板旋转矩阵
[in]gyro_tvec陀螺仪坐标系下的装甲板平移向量
[in]gyro_data陀螺仪数据信息
[out]cam_rmat相机坐标系下的装甲板旋转矩阵
[out]cam_tvec相机坐标系下的装甲板平移向量

◆ isContainBlob()

static bool rm::Armor::isContainBlob ( LightBlob::ptr  blob,
Armor::ptr  armor 
)
static

判断单个装甲板所在区域内是否包含指定的灯条

参数
[in]blob指定的灯条
[in]armor单一装甲板
返回
是否包含灯条中心

◆ loadSVM()

static void rm::Armor::loadSVM ( const std::string &  path)
inlinestatic

加载 SVM 装甲板大小分类的 *.xml 文件

参数
[in]path*.xml 文件路径

◆ make_combo()

static Armor::ptr rm::Armor::make_combo ( LightBlob::ptr  p_left,
LightBlob::ptr  p_right,
const GyroData gyro_data,
double  tick,
ArmorSizeType  armor_size_type = ArmorSizeType::UNKNOWN 
)
static

Armor 构造接口

注解
若提供参数 armor_size_type,则会强制构造 Armor
参数
[in]p_left左灯条共享指针
[in]p_right右灯条共享指针
[in]gyro_data当前时刻组合特征对应的陀螺仪数据
[in]tick捕获组合特征的时间点
[in]armor_size_type需要指定的大小装甲板类型,默认为 ArmorSizeType::UNKNOWN
返回
若成功,返回 Armor 的共享指针,否则返回空

◆ setExtrinsic()

void rm::Armor::setExtrinsic ( const CameraExtrinsics extrinsic)
inline

设置相机外参

◆ setType()

void rm::Armor::setType ( RobotType  stat)
inline

设置机器人类型 RobotType


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