4

ホモグラフィ行列が良い結果をもたらすことを確認したいのですが、この答え には答えがありますが、答えを実装する方法がわかりません。
では、OpenCV を使用して SVD を計算し、最初と最後の特異値の比率が正常であることを確認する方法を誰でも推奨できますか?

4

2 に答える 2

5

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のドキュメントを参照してください。

于 2013-05-08T12:01:22.973 に答える
2

を使用して、Python で SVD を計算できますnumpy。例えば:

    import numpy as np
    U, s, V = np.linalg.svd(a, full_matrices=True)

a次元の行列をM x Nとして因数分解しますu * np.diag(s) * v。ここで、uvはユニタリであり、の特異値のs1 次元配列です。a

詳細については、こちらをご覧ください

于 2017-04-05T10:21:55.687 に答える