MATLAB去除数字视频抖动教程及实验分享
需积分: 13 71 浏览量
更新于2024-09-02
收藏 4KB TXT 举报
"MT代码日志.txt 是一个关于数字视频抖动去除的MATLAB实现文档,作者通过实验分享了如何处理视频抖动问题。代码包括读取和显示AVI视频帧,将帧转换为静态图像,以及使用winvideo设备进行实时视频捕获,并创建视频文件。"
在视频处理领域,抖动是一个常见的问题,它降低了视频的质量和观看体验。本文档提供的MATLAB代码主要涉及以下几个关键知识点:
1. **AVI视频读取与显示**:
- `aviread` 函数用于读取指定范围内的AVI视频帧。例如,`mov=aviread('11',156:1:176);` 从'11'这个文件中读取第156到176帧的数据到变量`mov`。
- `movie` 函数用于播放这些帧,如 `movie(mov);` 显示视频。
2. **图像转换与保存**:
- 使用 `size` 函数获取视频帧的尺寸,例如 `temp=size(mov);` 获取视频帧的大小。
- `imwrite` 函数将每一帧的像素数据(cdata)保存为jpg图像,`strtemp=strcat(int2str(i),'.','jpg');` 创建保存的文件名,然后 `imwrite(mov(i).cdata(:,:,:),strtemp);` 进行保存。
3. **实时视频捕获**:
- `videoinput` 函数用于从摄像头或视频源捕获视频流。在示例中,`vid=videoinput('winvideo',1);` 初始化winvideo设备。
- `set` 函数用来设置视频输入设备的属性,如改变颜色空间从RGB到灰度,`set(vid,'ReturnedColorSpace','grayscale');`
4. **视频捕获参数调整**:
- `imaqhwinfo` 函数获取硬件信息,`cam_info=imaqhwinfo('winvideo');` 可以获取摄像头的相关信息。
- 设定捕获的视频格式,如 `'YUY2_640x480'`,并使用 `preview` 函数预览视频流。
- `getsnapshot` 函数用于获取当前帧,`frame=getsnapshot(vid);` 获取并显示当前帧。
5. **创建视频文件**:
- `MakeVideo` 函数(未在给出的片段中定义)可能用于将捕获的帧合并成新的视频文件,参数包括视频输入对象、文件名、帧数和帧率。
- `set` 函数设置视频输入设备的触发模式,如 `set(vid,'TriggerRepeat',Inf);` 设置无限重复触发,`set(vid,'FramesPerTrigger',1);` 每次触发只捕获一帧。
这些MATLAB代码展示了基本的视频处理流程,包括视频读取、帧处理、保存和实时捕获,对于理解视频处理的原理和实践非常有帮助。虽然作者并非专业人士,但这些内容对于爱好者或初学者来说是很好的学习材料。
2021-09-30 上传
2015-12-09 上传
2014-11-30 上传
2022-09-19 上传
2021-08-12 上传
2024-06-22 上传
2021-02-12 上传
guaibuliaole
- 粉丝: 0
- 资源: 2
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常