c++ - 使用 7 参数相机投影椭球
问题描述
我有一个使用 7 参数相机模型投射点的功能:
Vec2 project(const Rot3& R, // camera orientation
const Vec3& T, // camera pos
double f_px, // focal length
const Vec3& X) // point in world;
{
const Vec3 P = R * (X-T); // Subtract camera position and apply rotation
const Vec2 p = P.hnormalized() * f_px; // Normalize and apply focal length
return p;
}
- Rot3 是旋转的一些方便表示。假设它是一个 3x3 矩阵。
- Vec3::hnormalized()返回 Vec2(x/z, y/z)
现在我想扩展该函数以对我正在投影的点进行不确定性估计(3x3 协方差矩阵 - 世界坐标中的椭圆体)并返回 2x2 协方差矩阵(像素坐标中的椭圆)。
我认为这里引用了 Hartley & Zisserman在计算机视觉中的多视图几何 ,但我无法弄清楚它的数学原理。
解决方案
推荐阅读
- ios - SIGBRT 错误:无法将“UITableViewController”(0x113ccb7e0)类型的值转换为“Racing_Weather.PredictorTableViewController”(0x1086645b0)
- swift - AVPlayer 直到单元被回收才启动
- c# - Timers.Timer 超过 Interval 后继续工作
- list - 如何根据行号列表拆分 pyspark 数据帧的行?
- python - 如何防止我的 int 函数使用字符串参数?
- java - 如何在 pom.xml 文件中设置主类
- java - 如何计算数组中相同值的多个实例?
- javascript - 动态增加和缩小表格高度
- php - 显示 SELECT COUNT 结果 - 错误:需要字符串,给定对象
- ms-access - 有没有办法在 MS Access 中将过滤后的表单导出到 Excel?