我正在开发一个程序,将来自无人机的图像拼接在一起,我似乎无法获得任何可以在网上找到的拼接方法。最值得注意的是 openCV 具有的简单 Stitcher 类。这些是我的两个输入图像是最后两个,结果是第一个图像
所以显然这是不对的,但我不知道我哪里出错了,因为这只是对缝合器的简单调用。
int main(int argc, char** argv)
{
// Load the images
//Mat image1 = imread(argv[2]);
//Mat image2 = imread(argv[1]);
VideoCapture cap("vid.mp4");
vector<Mat> Vimg;
Mat result;
cout << "Grabbing Images" << endl;
for (int i = 0; i < 3; i++)
{
cout << "Grabbing Frame" << i << endl;
Mat temp;
cap.read(temp);
Vimg.push_back(temp);
imwrite("image" + to_string(i) + ".jpg", temp);
for (int j = 0; j < 80; j++)
cap.grab();
}
Stitcher stitch = Stitcher::createDefault();
cout << "Starting Stitching" << endl;
stitch.stitch(Vimg, result);
imwrite("result.jpg", result);
}