1

Say I have 2 aerial photos taken by unmanned small planes(Actually I have a few aerial videos..thats a lot of photos). The images are taken from the same area but from different angles and heights. Any ideas on how to match them together?

I used SIFT to get match points from 2 images, and got about 250 matched paries.Then I used RANSAC to cut down the number to approximately 150 matched points.But I don't no how to warp one image to the other?

Currently I use cvWarpPerspective() and cvWarpImage() in OpenCV, but cvWarpPerspective() only needs 4 paires of points for image registration. And the result is not really exact. And I still have more than 146 points unused.

What should I do ?

4

1 に答える 1

0

OpenCV のfindHomography関数を使用してホモグラフィ行列を見つけます。

Mat H;
H = findHomography(homographyPoints1, homographyPoints2, CV_LMEDS);
warpPerspective(img1, oimg1, H, img1.size(), INTER_NEAREST);

両方の画像をワープすると、2 つの出力画像が得られます。これで150ポイント全部使えます。一致した 150 個のキーポイントを homographyPoints1 と homographyPoints2 (または他のベクトル) にプッシュし、 を使用しますCV_LMEDSCV_RANSAC4 ~ 8 点をランダムに選択し、不正確なホモグラフィを計算します。

于 2013-03-19T15:13:14.890 に答える