双摄像头实时视频拼接(平移模型)

本文介绍了一种适用于双摄像头平行固定情况的实时视频拼接方法,利用柱面投影、模板匹配及渐入渐出融合技术。程序通过分析前3帧图像进行匹配,并对后续帧进行机械拼接,主要采用C++实现。
摘要由CSDN通过智能技术生成
  1. 假设两个摄像头平行固定,所拍摄的图像视差很小,可以通过“柱面投影+模板匹配+渐入渐出融合”的解决方案实现视频拼接。
  2. 这种视频拼接的方法仅仅是使用模板匹配的方法,划定一个需要匹配的区域,然后水平和垂直方向查找相同的区域,然后对两张图片进行融合。
  3. 本文相机拼接的程序只是使用前3帧图像进行拼接,后面通过前三帧的匹配地方进行机械的拼接。
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

//以下3个函数,与系列文章:图像拼接(一)...中的函数,相同
//柱面投影

//首先使用前3帧计算平移变量,然后使用固定的平移变量进行拼接


Mat cylinder(Mat imgIn, int f);
//计算两幅图像之间的平移量
Point2i getOffset(Mat img, Mat img1);
//线性融合
Mat linearFusion(Mat img, Mat img1, Point2i a);

int main()
{
    //VideoCapture cap1(0);
    VideoCapture cap2(1);

    //VideoCapture cap2;
    //if (!cap2.open("rtsp://admin:haikang123456@192.168.1.103/h264/ch1/main/av_stream"))
    //{
    //    std::cout << "Error opening video stream or file" << std::endl;
    //    return -1;
    //}

    VideoCapture cap2("./video/left_1.mp4");
    VideoCapture cap1("./video/right_2.mp4");

    double rate = 60;
    int delay = 1000 / rate;
    bool stop(false);
    Mat frame1;
    Mat frame2;
    Mat frame;
    Point2i a;//存储偏移量
    int k &#
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值