版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。 https://blog.csdn.net/shanglianlm/article/details/84338133
本文地址:https://blog.csdn.net/shanglianlm/article/details/84338133
int imageStitcher()
{
vector<Mat> imgs;
//图片命名,可以不按顺序来
string pattern = "F:/cpp_code/Demo20181010/Demo20181010/Stitcher/*.jpg";
vector<string> picPaths;
glob(pattern, picPaths, false);
size_t size = picPaths.size();
if (size>1)
{
cout << "find " << size << " images !" << endl;
for (int i=0;i<size;++i)
{
Mat img = imread(picPaths[i]);
imgs.push_back(img);
}
Mat panorama;
//是否使用GPU
bool use_gpu = false;
Stitcher stitcher = Stitcher::createDefault(use_gpu);
//拼接
Stitcher::Status status = stitcher.stitch(imgs, panorama);
//判断拼接是否成功
if (status != Stitcher::OK)
{
cout << "Can't stitch images, error code = " << int(status) << endl;
return -1;
}
imshow("panorama", panorama);
waitKey(0);
}
else if (size ==1)
{
cout << "find 1 image !" << endl;
imshow("img", imread(picPaths[0]));
waitKey(0);
}
else
{
cout << "find 0 image !" << endl;
}
return 0;
}