Search code examples
opencvimage-processingpanoramasimage-stitching360-panorama

Create 360° x 180° spherical projection using panorama


I have created a 360° panorama using OpenCV Stitcher routine. The panorama itself is ok but when I project it on a sphere (using 360° projection software) the start and end points of panorama along x-axis don't align. The code for creating panorama using 5 input images is;

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);
}  

I am unable to find any API (in stitching class) for warping/aligning start and end of panorama. Here is a similar question. An algorithm or an openCV API for this problem would be really helpful. Thanks.


Solution

  • Since I was using wide angle images, OpenCV cannot stitch wide angle nonlinear images into 360 panorma.

    In case of a rectilinear image, OpenCV's stitcher routine works fine.