【问题标题】:System of linear equation with opencv, c++带有opencv,c ++的线性方程组
【发布时间】:2014-01-24 11:22:10
【问题描述】:

你能解释一下opencv c++中有多少种方法和哪些方法来求解线性方程组?如果已经有现有的工具或功能已经写好了,我可以列出最有效的吗? 我的系统必须求解有关数字图像处理的方程

【问题讨论】:

    标签: c++ opencv image-processing


    【解决方案1】:

    如果您有一个系统A*x = B,您的解决方案是x=A^(-1)*B。 OpenCV 允许您使用三种不同的invert() 方法参数选择:

    1. 选择最优枢轴元素的高斯消元法。

    2. 奇异值分解(SVD)方法。

    3. Cholesky 分解;矩阵必须是对称且正定的。

    更多信息在这里: http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#invert

    编辑: 此外还有一个solve() 方法和其他方法:

    http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#solve

    编辑 2: 所有三种方法都有一个简短的性能比较:

    Fastest method in inverse of matrix

    【讨论】:

    • 这可能是openCV文档中的错误,我会在答案中更改它并添加一些关于性能的参考。
    • 如果你想解决Ax=b,你应该总是使用solve(),而不是反转你的矩阵(为了稳定性、准确性和性能)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 2021-10-18
    • 2021-05-27
    • 2015-09-01
    相关资源
    最近更新 更多