C++:LibraT/LibraT.h 相关说明
本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。
LibraT.cpp/LibraT.h
-
std::shared_ptr 实现共享式拥有,多个指针可以指向相同的对象,该对象和相关资源会在最后一个reference被销毁时释放
-
std::unique_ptr 实现独占式拥有,保证同一时间内只有一个指针可以指向该对象
-
std::weak_ptr 持有被shared_ptr所管理对象的引用,但是不会改变引用计数值。允许共享但不拥有某对象
-
std::atomic : 原子数据类型不会发生数据竞争,能直接用在多线程中而不必我们用户对其进行添加互斥资源锁的类型。
-
std:🧵 标准的线程库
-
std::signal :信号是由操作系统传给进程的中断,会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 Ctrl+C 产生中断。
PreProcessModule
ROI : 该区域代表设备的识别区域,设备会对所有区域内的物体进行识别判断处理,即“感兴趣的”,对区域外的物体不进行判与处理,即“不感兴趣的”。增加此区域的目的在于当前libraT使用的摄像头会被强光干扰,roi区域可以有效规避强光干扰。
相机内参/外参
相机内参
是与相机自身特性相关的参数,比如相机的焦距、像素大小。确定摄像机从三维空间到二维图像的投影关系。
- 针孔摄像机模型为6个参数(f,κ,Sx,Sy,Cx,Cy)
- 远心摄像机模型为5个参数(f,Sx,Sy,Cx,Cy)
- 线阵摄像机为9个参数(f,κ,Sx,Sy,Cx,Cy,width.highth)
其中:
- f为焦距;
- κ表示径向畸变量级,如果κ为负值,畸变为桶型畸变,如果为正值,那畸变为枕型畸变。
- Sx,Sy是缩放比例因子。对针孔摄像机来讲,表示图像传感器上水平和垂直方向上相邻像素之间的距离;对于远心摄像机模型,表示像素在世界坐标系中的尺寸。
- Cx,Cy是图像的主点。对针孔摄像机来讲,这个点是投影中心在成像平面上的垂直投影,同时也是径向畸变的中心 。对于远心摄像机模型,只表示畸变的中心 。
相机外参
在世界坐标系中的参数,比如相机的位置、旋转方向等。决定摄像机坐标与世界坐标系之间相对位置关系。分为旋转矩阵和平移矩阵,旋转矩阵和平移矩阵共同描述了如何把点从世界坐标系转换到摄像机坐标系。
- 旋转矩阵:描述了世界坐标系的坐标轴相对于摄像机坐标轴的方向。
- 平移矩阵:描述了在摄像机坐标系下,空间原点的位置。
其中Pw为世界坐标,Pc是摄像机坐标,他们之间关系为:
|
|
式中,T= (Tx,Ty,Tz),是平移向量,R = R(α,β,γ)是旋转矩阵,分别是绕摄像机坐标系z轴旋转角度为γ,绕y轴旋转角度为β,绕x轴旋转角度为α。6个参数组成(α,β,γ,Tx,Ty,Tz)为摄像机外参。
奥比获取相机内参/外参
设备的内外参在设备出场的时候一般都会标定好存储在设备的 Flash 中,内外参的获取可以通过如下这行代码得到:
|
|