一、前言
此示例演示如何从视频序列创建马赛克。视频拼接是将视频帧拼接在一起以形成场景综合视图的过程。生成的马赛克图像是视频数据的紧凑表示。视频马赛克块通常用于视频压缩和监控应用。
此示例说明如何使用“角检测”块、“估计几何变换”块、“投影变换”块和“合成”块从视频序列创建镶嵌图像。
二、模型
下图显示了视频镶嵌模型:
输入子系统从文件加载视频序列,或生成合成视频序列。选择是用户定义的。首先,角点检测块查找由角匹配子系统在连续帧之间匹配的点。然后,“估计几何变换”块计算变换矩阵的准确估计值。该模块使用 RANSAC 算法消除异常值输入点,从而减少沿输出马赛克图像接缝的误差。最后,Mosaicking 子系统将当前视频帧叠加到输出图像上以生成马赛克。
三、输入子系统
输入子系统可以配置为从文件加载视频序列,或生成合成视频序列。
如果选择使用文件中的视频序列,则可以通过仅处理某些视频帧来减少计算时间。这是通过在帧速率下采样子系统中设置下采样率来完成的。
如果选择合成视频序列,则可以设置平移和旋转速度、输出图像大小和原点以及噪点级别。合成视频序列生成器的输出模仿透视摄像机捕获的图像,在平面上任意运动。
四、角匹配子系统
子系统通过以下三种方法之一查找当前视频帧中的角特征。该示例使用局部强度比较,这是最快的方法。其他可用的方法是哈里斯角检测和最小特征值。
拐角匹配子系统查找拐角数、位置及其度量值。然后,子系统计算当前帧中所有要素与前一帧中要素之间的距离。通过搜索最小距离,子系统将找到最佳匹配要素。
五、马赛克子系统
通过在连续视频帧之间累积转换矩阵,子系统计算当前视频帧和第一个视频帧之间的转换矩阵。然后,子系统将当前视频帧叠加到输出图像上。通过重复此过程,子系统将生成镶嵌图像。
当视频序列倒带或“估计几何变换”块未找到足够的内在值时,子系统将重置。
六、使用合成视频的视频镶嵌
“角”窗口显示当前视频帧中的角位置。“镶嵌”窗口将显示生成的镶嵌影像。
七、使用捕获的视频进行视频镶嵌
“角”窗口显示当前视频帧中的角位置。
“镶嵌”窗口将显示生成的镶嵌影像。
八、程序
使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)
程序有偿获取:评论区下留言,博主看到会私信你。