OpenCV Stitching

OpenCV Stitching

本文关键字:Stitching OpenCV      更新时间:2023-10-16

我迫切需要OpenCV缝合模块的帮助。我需要使用OpenCV中的"针迹"方法创建全景摄影。下面是我到目前为止所拥有的。但是,当我运行程序时,我会收到此错误:需要更多图像。有没有OPENCV专家可以帮助我解决此错误?

IplImage* img1 = cvLoadImage("/Users/myName/Desktop/image1.jpg", CV_LOAD_IMAGE_COLOR);
IplImage* img2 = cvLoadImage("/Users/myName/Desktop/image2.jpg", CV_LOAD_IMAGE_COLOR);
Mat vecImg1 = img1;
Mat vecImg2 = img2;
Mat allImages;
allImages.push_back(vecImg1);
allImages.push_back(vecImg2);
Mat outputImage;
Stitcher stitchImg = Stitcher::createDefault();
Stitcher::Status s = stitchImg.stitch(allImages, outputImage);
cout << "status: " << s << endl;
cvNamedWindow("stitch images", CV_WINDOW_AUTOSIZE);
cvShowImage("stitch images", &outputImage);
cvWaitKey(0);
cvDestroyWindow("stitch images");

我猜" allimages"应该是类型vector<Mat>

查看OpenCV样本"样本/cpp/stitching.cpp"。

我实际上找到了一种方法。

在Xcode中,在构建设置下,我将编译器类型从Apple LLVM更改为LLVM GCC 4.2,现在我的代码可以生成Panorama Image,就可以了!

谢谢!

在Stitcher类功能中,OpenCV查找图像之间的功能匹配。如果您输入的图像没有共同的特征,则不会将这些图像视为同一视图的图像因此,需要更多图像