使用openCV进行360度视图

时间:2017-06-27 15:56:44

标签: c++ opencv opencv3.0

我从4个不同的摄像头获取视频帧,我使用下面的代码在单帧中拼接它们,我想在360度视图中拼接它们, 是否可以在openCV中进行?如果是,有人可以指导我。

capture >> frame;
capture1 >> frame1;
capture2 >> frame2;
capture3 >> frame3;

frame.copyTo(canvas(Rect(0,0,frame.cols,frame.rows )));
frame1.copyTo(canvas(Rect(frame.cols,0,frame1.cols,frame1.rows )));
frame2.copyTo(canvas(Rect(0,frame.rows,frame2.cols,frame2.rows )));
frame3.copyTo(canvas(Rect(frame2.cols,frame1.rows,frame3.cols,frame3.rows )));

1 个答案:

答案 0 :(得分:0)

我猜你已经看过Opencv用于拼接图片的API:http://docs.opencv.org/2.4/modules/stitching/doc/stitching.html

在流行的pyimagesearch网站上还有一些关于Python中panaroma拼接的教程:http://www.pyimagesearch.com/2016/01/11/opencv-panorama-stitching/

通常,解决方案涉及使用特征检测器和描述符,如SIFT,SURF,ORB,它是缩放/旋转不变量,然后在opencv上使用像BFmatcher这样的描述符匹配器来查找匹配项。然后,您必须在图像上应用几何变换,如仿射变换,以覆盖两个图像。