opencv - 我如何计算 SVD 并验证第一个奇异值与最后一个奇异值的比率是否与 OpenCV 一致?

标签 opencv svd

我想验证单应矩阵会给出好的结果,而这个 this answer 有答案 - 但是,我不知道如何实现答案。
那么谁能推荐我如何使用 OpenCV 计算 SVD 并验证第一个奇异值与最后一个奇异值的比率是否合理?

最佳答案

在 OpenCV 中有几种计算 SVD 的方法:

cv::SVD homographySVD(homography, cv::SVD::FULL_UV); // constructor
// or: 
homographySVD(newHomography, cv::SVD::FULL_UV); // operator ()
homographySVD.w.at<double>(0, 0); // access the first singular value

// alternatives:
cv::SVD::compute(homography, w); // compute just the singular values
cv::eigen(homography, w);

查看 cv::SVD 的文档和 cv::eigen了解更多详情。

关于opencv - 我如何计算 SVD 并验证第一个奇异值与最后一个奇异值的比率是否与 OpenCV 一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16439792/

相关文章:

opencv - 如何在 Android 中只包含必要的 OpenCV 库?

matlab - MATLAB 中矩阵指数的 W * diag(S) * W' 形式的矩阵的特征分解

opencv:执行在图像像素访问的双指针算法处停止

java - 从 Camera API 函数 takePicture() 获取/转换为 YCbCr_420_SP (NV21) 图像格式

c++ - 复制数据的奇怪错误

python - OpenCV findChessboardCorners 函数在(显然)简单的场景中失败

c++ - 如何将特征雅可比 SVD 与特征仿射矩阵一起使用

使用自己的通用类型的 C# 矩阵计算和 SVD(使用 Math.NET Numerics)

algorithm - 快速恢复领先奇异向量的方法

c++ - C/C++ 中的定点奇异值分解