opencv 全景图像拼接

版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。 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;
}

猜你喜欢

转载自blog.csdn.net/shanglianlm/article/details/84338133