我发现要在图像上执行Armadillo
的{{1}}软件包。我首先尝试使用SVD
,它非常慢。因此,现在我在写一个使用此新库执行OpenCV
的示例,而得到的结果与SVD
相同。经过一些研究,它似乎与OpenCV
不再使用但仍由OpenCV
使用的Lapack有关。因此,在进行Armadillo
计算之后,我将重建图像以验证是否可以恢复原始图像。使用SVD
没关系,差异接近0,但是我不知道为什么对于犰狳我将OpenCV
数字作为奇异值,所以我无法获取图像。
在此先感谢您提供的帮助/建议。
我的C ++代码:
NaN
答案 0 :(得分:0)
问题是由于计算模式:
方法参数是可选的;方法是“ dc”或“ std”
"dc" indicates divide-and-conquer method (default setting) "std" indicates standard method the divide-and-conquer method provides slightly different results than the standard method, but is considerably faster for large
矩阵
dc
模式不能正常工作,但是std
模式却可以。可能是dc
模式下的Lapack库出现了问题。