All Projects → suncle1993 → VideoStitching

suncle1993 / VideoStitching

Licence: other
solve real time video stitching problem: 4 camera example by opencv surf

Programming Languages

C++
36643 projects - #6 most used programming language
QMake
1090 projects

Projects that are alternatives of or similar to VideoStitching

deface
Video anonymization by face detection
Stars: ✭ 269 (+540.48%)
Mutual labels:  video-processing
showcase
A Full Stack Journey with Micro Services and Micro Front Ends. Using dapr, kubernetes, react module federation and web assembly,
Stars: ✭ 45 (+7.14%)
Mutual labels:  stitching
ExpertVideoToolbox
A lightweight, versatile GUI of x264, x265. Nearly full input formats support, .mkv and .mp4 output support. Avs support will be added soon. Language: Chinese
Stars: ✭ 12 (-71.43%)
Mutual labels:  video-processing
viddl
Ruby/Command line tool to download, cut, crop and resize video clips
Stars: ✭ 32 (-23.81%)
Mutual labels:  video-processing
gilfoyle
Distributed video encoding, hosting and streaming (WIP)
Stars: ✭ 73 (+73.81%)
Mutual labels:  video-processing
VideoReflection
Embeddable video, GIF, water reflection and video borders in a video.
Stars: ✭ 33 (-21.43%)
Mutual labels:  video-processing
generativepy
Library for creating generative art and maths animations
Stars: ✭ 70 (+66.67%)
Mutual labels:  video-processing
RWHEC-Tabb-AhmadYousef
This code provides methods for robot-world, hand-eye(s) calibration, updated in June 2018..
Stars: ✭ 32 (-23.81%)
Mutual labels:  camera-calibration
cherry-on-py
Cloud computing is a game changer for developers. What can you do in a couple hundred lines of code?
Stars: ✭ 67 (+59.52%)
Mutual labels:  video-processing
eta
ETA: Extensible Toolkit for Analytics
Stars: ✭ 22 (-47.62%)
Mutual labels:  video-processing
tator
Video analytics web platform
Stars: ✭ 66 (+57.14%)
Mutual labels:  video-processing
conv3d-video-action-recognition
My experimentation around action recognition in videos. Contains Keras implementation for C3D network based on original paper "Learning Spatiotemporal Features with 3D Convolutional Networks", Tran et al. and it includes video processing pipelines coded using mPyPl package. Model is being benchmarked on popular UCF101 dataset and achieves result…
Stars: ✭ 50 (+19.05%)
Mutual labels:  video-processing
libyami-utils
Libyami Utilities
Stars: ✭ 23 (-45.24%)
Mutual labels:  video-processing
RGBDAcquisition
A uniform library wrapper for input from V4L2,Freenect,OpenNI,OpenNI2,DepthSense,Intel Realsense,OpenGL simulations and other types of video and depth input..
Stars: ✭ 56 (+33.33%)
Mutual labels:  camera-calibration
MTL-AQA
What and How Well You Performed? A Multitask Learning Approach to Action Quality Assessment [CVPR 2019]
Stars: ✭ 38 (-9.52%)
Mutual labels:  video-processing
VideoLab
High-performance and flexible video editing and effects framework, based on AVFoundation and Metal.
Stars: ✭ 663 (+1478.57%)
Mutual labels:  video-processing
zhang
Numpy implementation of Z. Zhang's camera calibration algorithm
Stars: ✭ 36 (-14.29%)
Mutual labels:  camera-calibration
3D-Tracking-MVS
3D position tracking for soccer players with multi-camera videos
Stars: ✭ 68 (+61.9%)
Mutual labels:  video-processing
DREAM
DREAM: Deep Robot-to-Camera Extrinsics for Articulated Manipulators (ICRA 2020)
Stars: ✭ 109 (+159.52%)
Mutual labels:  camera-calibration
mediapipe plus
The purpose of this project is to apply mediapipe to more AI chips.
Stars: ✭ 38 (-9.52%)
Mutual labels:  video-processing

多目相机的视频拼接

本项目源于本科导师安排的毕业设计,本应该16年就整理完成,一直拖到2018年5月才有时间整理并分享。其中走的弯路较多,并且这一方面的资料较少,大多数类似项目完成之后就申请专利并没有开源。本次项目文档按照以下3个部分展开:

  1. 设计目标
  2. 环境搭建
  3. 设计思路

设计目标

多目相机的视频拼接技术是指利用多目相机或相机阵列进行大尺寸视频拼接。类似于昆虫复眼。即虽然单相机功能较弱,但利用多台相机同时拍摄,则可以弥补单台相机的不足。

本项目的主要研究内容是基于多目相机,利用图像拼接技术实现大尺寸图像的合成,然后在此基础上,利用多幅图像之间的空间关联,计算单应矩阵,通过图像融合的手段实现大尺寸视频的合成。

本设计要求完成:

  1. 熟悉OpenCV基本函数的使用;
  2. 搭建Qt+OpenCV开发环境;
  3. 熟悉软件编写流程;
  4. 掌握多目相机的视频拼接的核心步骤和相关算法
  5. 设计并实现图像拼接和视频拼接算法的演示软件;
  6. 测试多个摄像头多组视频拼接结果。

环境搭建

软件方面:采用C+++Qt5.5.1+OpenCV2.4.9

硬件方面:

  • 摄像头:采用淘宝上最便宜的小钢炮摄像头,单个价格25元左右
  • 摄像头固定装置:计算摄像头的视场,使用Autodesk 3ds Max设计固定装置,并使用3D打印技术打印

硬件设备类似如下

设计思路

图像拼接是视频拼接的核心技术,目前图像拼接技术大体可以分为三个步骤:图像的预处理、图像配准、和图像融合。而图像拼接研究的难点就是图像配准和图像融合。详细步骤如下图:

因为我们设计的相机阵列中的所有的相机设备之间的相对位置是固定不变的,因此任意两幅有重叠区域的图像之间计算得出的透视变换矩阵也是一样的,至少是非常接近的。为了保证视频拼接的实时性和准确性,与一般的视频拼接的方法相比较,我们最终采取的视频拼接的方法如下四步:

  1. 我们只需要从四个视频图像中捕获比较合适的图像,保存下来。
  2. 根据第一步的图像进行配准操作,
  3. 计算出四个摄像头图像之间的单应性矩阵,并且并存储在一个Mat 里面。
  4. 在剩下的那些需要实时拼接的视频帧,就可以直接调用存储在Mat 中的单应性矩阵,从而完成配准过程。

这样剩下的那些需要实时拼接的视频帧在拼接的时候就可以省去每次的特征提取配准的时间。只需利用透视变换矩阵进行图像变换拼接和图像融合两个步骤。

整个视频拼接的步骤如下:

最后

大致的README文档就到此结束,具体内容请参见代码和paper下面的论文。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].