私はすでに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つしかないと思っていましたが、そうではありませんでした。
私はホモグラフィとランソーをよく理解せずに使っていると思います。ネットで調べたのですが、ややこしいので説明もしっかりしていただけると助かります。
感謝。