我有以下代码:

#include <opencv2\stitching\stitcher.hpp>

int Stitching()
{
Stitcher m_stitcher = m_stitcher.createDefault(false);

vector<Mat> images;
Mat img1 = imread("0.jpg"); //read image 0
Mat img2 = imread("1.jpg"); //read image 1
Mat Result;

//add images to the array
images.push_back(img1);
images.push_back(img2);

m_stitcher.stitch(images, Result);
imwrite("panorama.jpg",Result);
return 0;
}

构建后,我得到此错误:



我应该添加些什么才能使stitch()正常工作?

最佳答案

看来您的类Stitcher没有公共(public)构造函数。如果这是您拥有的类,则需要为其提供一个公共(public)构造函数,以便能够构造Stitcher的实例。但是,这似乎是第三方库,快速的Google搜索告诉您 Stitcher 中存在此方法:

static Stitcher createDefault(bool try_use_gpu = false);

为了创建Stitcher的实例,您可能必须执行以下操作:
Stitcher m_stitcher = Stitcher::CreateDefault();

编辑:
为了解决链接器错误,您可能需要将正确的lib文件添加到链接器的输入列表中。此链接应该可以帮助您设置http://opencv.willowgarage.com/wiki/InstallGuide

08-24 23:32