使用全景图创建 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 的拼接器程序工作正常。
我使用 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 的拼接器程序工作正常。