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;
	}
}
相关推荐
格林威2 分钟前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
这张生成的图像能检测吗3 小时前
(论文速读)SCNN:用于交通场景理解的空间CNN
人工智能·深度学习·目标检测·计算机视觉·道路线检测
小保CPP4 小时前
OpenCV C++将多张图像合并为webp动图
c++·人工智能·opencv·计算机视觉
Microvision维视智造5 小时前
从“看见“到“看懂“——工业视觉的大模型时刻到了吗?
人工智能·计算机视觉·视觉检测·机器视觉
小保CPP6 小时前
OpenCV C++提取webp动图里的图片
c++·人工智能·opencv·计算机视觉
深度研习笔记16 小时前
OpenCV工业视觉实战11|多线程解耦+视频流稳流+推理加速,彻底解决卡顿阻塞,实现毫秒级工业实时检测
人工智能·opencv·计算机视觉
腾渊信息科技公司17 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
点PY18 小时前
一种从CTA图像中去除扫描床的方法及装置
人工智能·计算机视觉
小白巨白18 小时前
玫瑰花园管理系统:AI识病+3D可视化,一套面向中小型玫瑰种植园的数字化管理工具
css·人工智能·计算机视觉·html5
hhzz20 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型