我使用OpenCV Stitcher例程创建了360°全景图。全景图本身还可以,但是当我将其投影到球体上(使用360°投影软件)时,沿x轴的全景图的起点和终点未对齐。使用5个输入图像创建全景的代码是:

using namespace cv;
using namespace std;

void main()
{
    Mat rImg;
    vector< Mat > vImg;

    vImg.push_back( imread("Img1.jpg") );
    vImg.push_back( imread("Img2.jpg") );
    vImg.push_back( imread("Img3.jpg") );
    vImg.push_back( imread("Img4.jpg") );
    vImg.push_back( imread("Img5.jpg") );

    Stitcher stitcher = Stitcher::createDefault(0);
    stitcher.stitch(vImg, rImg);

    imshow("Stitching Result", rImg);
    waitKey(0);
}

我找不到用于拼接/对齐全景图起点和终点的任何API(在拼接类中)。这是一个类似的question。解决此问题的算法或openCV API确实很有帮助。谢谢。

最佳答案

由于我使用的是广角图像,因此OpenCV无法将广角非线性图像拼接成360全景图像。

如果是直线图像,OpenCV的装订器例程运行良好。

关于opencv - 使用全景创建360°x 180°球形投影,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36328893/

10-11 19:12