使用全景图创建 360° x 180° 球面投影

Create 360° x 180° spherical projection using panorama

我使用 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(在拼接 class 中)warping/aligning 全景图的开始和结束。这里有一个类似的question。这个问题的算法或 openCV API 会很有帮助。谢谢。

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

对于直线图像,OpenCV 的拼接器程序工作正常。