opencv calib3d 模块 usac magsac Gamma 查表值验证

cpp 复制代码
void inflateGammaValues(
	std::vector<double>& gamma_complete_anchor,
	std::vector<double>& gamma_incomplete_anchor,
	std::vector<double>& gamma_anchor,
	double max_thr=7.5, double gamma_quantile = 3.04, double DOF=2,int number_of_anchor_points=50)
{
	//上不完全gamma
	gamma_complete_anchor= std::vector<double>(number_of_anchor_points),
	//下不完全gamma
	gamma_incomplete_anchor= std::vector<double>(number_of_anchor_points),
	//上不完全gamma
	gamma_anchor= std::vector<double>(number_of_anchor_points);

	const double step0 = max_thr / (number_of_anchor_points-1);
	const double step1 = max_thr* gamma_quantile / (number_of_anchor_points - 1);

	const double n_plus_1_div_2 = (DOF + 1.0) / 2.0;
	const double n_minus_1_div_2 = (DOF - 1.0) / 2.0;

	const double gamma_n_plus = boost::math::tgamma(n_plus_1_div_2);
	const double gamma_n_minus = boost::math::tgamma(n_minus_1_div_2);
	for (int i = 0; i < number_of_anchor_points; ++i)
	{
		gamma_complete_anchor[i]= boost::math::gamma_q(n_minus_1_div_2, step0 * i) * gamma_n_minus;
		gamma_incomplete_anchor[i] = boost::math::gamma_p(n_plus_1_div_2, step0 * i) * gamma_n_plus;
		gamma_anchor[i] = boost::math::gamma_q(n_minus_1_div_2, step1 * i) * gamma_n_minus;
	}
}
相关推荐
zzm6285 小时前
CVPR 2018 最佳论文精读:Taskonomy——计算机视觉任务之间的迁移学习
计算机视觉·迁移学习·cvpr·论文精读
leoZ2318 小时前
AI+前端提效-09 AI赋能前端测试:单元测试、E2E测试自动生成,提升覆盖率
前端·人工智能·opencv·目标检测·数据挖掘·单元测试·语音识别
Zentceh11 小时前
全彩夜视 vs 黑白夜视:信息密度、AI识别准确率对比
人工智能·科技·计算机视觉·车载系统·无人机·量子计算·视频
别动我齐刘海12 小时前
从0到1独立搭建机器人软件系统
c++·人工智能·神经网络·opencv·目标检测·机器学习·机器人
AI的探索之旅13 小时前
97 个 OpenCV 实例(十五):几何校正,透视变换 + ECC 对齐
人工智能·opencv·计算机视觉
qq_252941316813 小时前
牛目标检测数据集 | 牛只检测 智慧畜牧 动物识别 目标检测5017期
人工智能·深度学习·目标检测·计算机视觉·动物识别··牛识别
硅谷秋水13 小时前
Zero-WAM:基于人类视频的上下文世界-动作建模,用于开放式任务泛化
人工智能·深度学习·计算机视觉·语言模型·机器人·音视频
YOLO数据集集合14 小时前
珊瑚健康状态检测数据集 | 珊瑚检测 白化监测 海洋生态 水下目标检测9034期
人工智能·目标检测·计算机视觉·珊瑚健康·白化监测·水下目标
HYHYLLLL14 小时前
【2026年】多模态AI在水务场景的应用
人工智能·深度学习·计算机视觉·水务
欧特克_Glodon2 天前
OpenCV计算机视觉开发入门与实践<二十七>:图像分割概述
c++·人工智能·opencv·计算机视觉