1

私はすでにstackOverflaw、特にこのリンクをチェックしましたが、私の質問には答えませんでした。

2 つの画像を照合するために、Ransac と OpenCv を使用してホモグラフィを計算します。ここに対応するコード:

Mat H = findHomography( obj, scene, CV_RANSAC,3);

std::cout << "Size of homography " << *H.size << std::endl ;

//Print homography
for (int i=0;i<H.rows;i++){
    for (int j=0;j<H.cols;j++){

        std::cout << "valeur H : "  << (int)H.at<double>(i,j) << endl;
    }
}
int N=1;
const double det = H.at<double>(0, 0) * H.at<double>(1, 1) - H.at<double>(1, 0) * H.at<double>(0, 1);
std::cout << "Determinant homography : " << det << std::endl;

良い一致(まったく同じ写真)のために、私は自分の端末にこれを持っています:

ホモグラフィー3のサイズ

値 H : 1

値 H : 0

値 H : 0

値 H : 0

値 H : 1

値 H : 0

値 H : 0

値 H : 0

値 H : 1

行列式ホモグラフィ : 1

悪い一致(2つの異なる写真)の場合、私はこれを持っています:

ホモグラフィー3のサイズ

値 H : 0

値 H : 0

バルール H : 241

値 H : 0

値 H : 0

バルール H : 277

値 H : 0

値 H : 0

値 H : 1

行列式ホモグラフィ : 0.00533235

この結果はわかりません。誰かが私を説明できますか?これらの値を使用して、これが適切かどうかを判断したいと思います。最初のケースでは1つしかないと思っていましたが、そうではありませんでした。

私はホモグラフィとランソーをよく理解せずに使っていると思います。ネットで調べたのですが、ややこしいので説明もしっかりしていただけると助かります。

感謝。

4

2 に答える 2