Создание сферической проекции 360° x 180° с помощью панорамы

Я создал панораму 360 °, используя процедуру OpenCV Stitcher. Сама панорама в порядке, но когда я проецирую ее на сферу (используя программное обеспечение для проецирования 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 (в классе сшивки) для деформации/выравнивания начала и конца панорамы. Вот аналогичный вопрос. Алгоритм или API openCV для этой проблемы были бы очень полезны. Спасибо.


person Saleh    schedule 31.03.2016    source источник


Ответы (1)


Поскольку я использовал широкоугольные изображения, OpenCV не может сшивать широкоугольные нелинейные изображения в панораму 360°.

В случае прямолинейного изображения процедура сшивания OpenCV работает нормально.

person Saleh    schedule 03.07.2017