よし、では、2 つの画像 (A と B) が互いにわずかに歪んでいて、それらの間に平行移動、回転、縮尺の違いがあるとします (たとえば、これらの画像:)
Ssoooooooo 私が必要としているのは、写真 B に一種の変換を適用して、存在する歪み/平行移動/回転を補正して、両方の写真を同じサイズ、向き、および平行移動なしで作成することです。
以下に示すように、私はすでにポイントを抽出し、ホモグラフィを見つけました。しかし、ホモグラフィを使用して変換する方法がわからMat img_B
ないので、 のように見えMat img_A
ます。何か案が?
//-- Localize the object from img_1 in img_2
std::vector<Point2f> obj;
std::vector<Point2f> scene;
for (unsigned int i = 0; i < good_matches.size(); i++) {
//-- Get the keypoints from the good matches
obj.push_back(keypoints_object[good_matches[i].queryIdx].pt);
scene.push_back(keypoints_scene[good_matches[i].trainIdx].pt);
}
Mat H = findHomography(obj, scene, CV_RANSAC);
乾杯、