【发布时间】:2014-01-24 11:22:10
【问题描述】:
你能解释一下opencv c++中有多少种方法和哪些方法来求解线性方程组?如果已经有现有的工具或功能已经写好了,我可以列出最有效的吗? 我的系统必须求解有关数字图像处理的方程
【问题讨论】:
标签: c++ opencv image-processing
你能解释一下opencv c++中有多少种方法和哪些方法来求解线性方程组?如果已经有现有的工具或功能已经写好了,我可以列出最有效的吗? 我的系统必须求解有关数字图像处理的方程
【问题讨论】:
标签: c++ opencv image-processing
如果您有一个系统A*x = B,您的解决方案是x=A^(-1)*B。
OpenCV 允许您使用三种不同的invert() 方法参数选择:
选择最优枢轴元素的高斯消元法。
奇异值分解(SVD)方法。
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: 所有三种方法都有一个简短的性能比较:
【讨论】:
Ax=b,你应该总是使用solve(),而不是反转你的矩阵(为了稳定性、准确性和性能)。