我使用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/