在OpenCV中有没有计算矩阵对数的方法?我知道它不能作为一个库函数使用,但是,指向一个好的资源(论文、教科书等)的指针将会很受欢迎。
发布于 2011-05-26 19:05:08
NicholasJ.Higham的"Functions of Matrices: Theory and Computation"有一整章(CH11)专门介绍矩阵对数。它包括算法描述和数值实验结果。
发布于 2011-05-27 18:51:23
事实上,我正在对特征库中的矩阵对数进行编程,该库显然在一些Willow Garage库中使用;对OpenCV不太确定。在我看来,Higham的书(参见aix的答案)是最好的参考,我在他的书中实现了算法11.11。不过,这是一个相当复杂的算法。
对角化(在Alexandre的评论中)是一种易于编程的方法,它非常适合于对称正定矩阵。它也适用于许多通用矩阵。然而,对于特征值相近的矩阵,它是不准确的,对于不可对角化的矩阵,它是失败的。
如果你想要比对角化更健壮但比Higham的算法11.11更简单的东西,那么我建议先做Schur分解,然后再进行反向缩放和平方。这是Higham的书中的算法11.10,并在论文“将矩阵的对数近似到指定的精度”(http://dx.doi.org/10.1137/S0895479899364015,在http://eprints.ma.man.ac.uk/318/预印本)中进行了描述。
发布于 2014-12-01 20:22:55
如果使用OpenCV矩阵,则可以轻松地将它们映射到Eigen3矩阵。请看这篇文章:
OpenCV CV::Mat and Eigen::Matrix
然后,您可以使用Eigen3库中的矩阵对数函数:
http://eigen.tuxfamily.org/dox/unsupported/group__MatrixFunctions__Module.html
它在不支持的模块下,但这不是问题,这只是意味着:
这些模块来自不同用户的贡献。它们是按“原样”提供的,没有任何支持。
-- http://eigen.tuxfamily.org/dox/unsupported/
希望这能对你有所帮助。
https://stackoverflow.com/questions/6137354
复制相似问题