Matlab摄像头视频基本处理
一、读取摄像头
1.首先保证摄像头及其驱动正确在电脑上安装
2.简单的代码显示驱动摄像头,并显示:
vid = videoinput('winvideo',1);
preview(vid);
3.默认显示彩色rgb图像,可用下面代码转换为灰度图像:
set(vid,'ReturnedColorSpace','grayscale');
若要还原为彩色图像,即把上面的grayscale换成rgb
二、获取摄像头图像
image = getsnapshot(vid);%获得图像矩阵
figure;
imshow(image);%显示该幅图片
三、保存视频
writerObj = VideoWriter( [filename '.avi'] );%创建.avi文件
writerObj.FrameRate = N;%设置视频帧率
open(writerObj); figure;
for ii = 1: nframe
frame = getsnapshot(vid);
imshow(frame);
f.cdata = frame;
f.colormap = [];
writeVideo(writerObj,f);
end close(writerObj);
四、摄像头深刻理解
imaqhwinfo()函数返回一个结构体,里面包含DeviceID和DeviceInfo,DeviceID存储着电脑上所有可用摄像头的ID,每个ID对应一个摄像头。DeviceInfo中存储着每个摄像头的信息,最主要的就是摄像头所支持的视频格式。通过下面代码可以得到DeviceID和DeviceInfo中支持的格式信息:
cam_info = imaqhwinfo('winvideo');
cam_info.DeviceInfo.DeviceID
cam_info.DeviceInfo.SupportedFormats
得到支持的格式信息后,即可加到第一个代码中去了:
vid = videoinput('winvideo',1,'Formats');
Matlab摄像头视频基本处理的更多相关文章
- Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
- Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
- crtmpserver的安装,摄像头视频测试
下载 svn co --username anonymous --password "" https://svn.rtmpd.com/crtmpserver/branches/1. ...
- javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- javacv开发详解之1:调用本机摄像头视频(建议使用javaCV1.3版本)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- python之OpenCv(五)---抓取摄像头视频图像
OpenCV 可以通过 头videoCapture()方法打开摄像 摄像头变量 = cv2.VideoCapture(n) n为整数,内置摄像头为0,若有其他摄像头则依次为1,2,3,4,... ...
- 如何用FFmpeg API采集摄像头视频和麦克风音频,并实现录制文件的功能
之前一直用Directshow技术采集摄像头数据,但是觉得涉及的细节比较多,要开发者比较了解Directshow的框架知识,学习起来有一点点难度.最近发现很多人问怎么用FFmpeg采集摄像头图像,事实 ...
- WPF中在摄像头视频上叠加控件的解决方案
一.视频呈现 前段时间,在一个wpf的项目中需要实时显示ip摄像头,对此的解决方案想必大家都应该知道很多.在winform中,我们可以将一个控件(一般用panel或者pictruebox)的句柄丢给摄 ...
- javacv开发详解之1:调用本机摄像头视频(建议使用javaCV最新版本)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
随机推荐
- react中iconfont如何使用
一.配置 this.state={ tabs:[ { path:"/home", icon:"\ue628", name:"首页", }, ...
- 详解 LSTM
LSTM 长短时记忆网络(Long Short Term Memory Network, LSTM),是一种改进之后的循环神经网络,可以解决RNN无法处理长距离的依赖的问题,目前比较流行. 长短时记忆 ...
- 37 Reasons why your Neural Network is not working
37 Reasons why your Neural Network is not working Neural Network Check List 如何使用这个指南 数据问题 检查输入数据 试一下 ...
- java 匿名内部类与包的声明访问
一 匿名内部类 1.匿名内部类的概念 内部类是为了应对更为复杂的类间关系.查看源代码中会涉及到,而在日常业务中很 难遇到,这里不做赘述. 最常用到的内部类就是匿名内部类,它是局部内部类的一种. 定义的 ...
- MySQL数据的增删改查查查查查查查查查查查查查查查查(查是真的多)
一 数据的增加 主要是运用insert into 语句. 格式: insert into 表名称 values(数据,数据,数据)(要按顺序来,有没有数据的可以加null) 只增加某些字段里数据的 ...
- C#LeetCode刷题之#720-词典中最长的单词(Longest Word in Dictionary)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4120 访问. 给出一个字符串数组words组成的一本英语词典.从 ...
- JavaScript Babel说明
babel插件只是去唤醒 @babel/core中的转换过程 转换模块需要手动安装 npm install @babel/core 转换方式需要安装 @babel/preset-env babel默认 ...
- VS Code 黑宝书背后的故事
自开售以来,<Visual Studio Code 权威指南>就受到了许多读者朋友的青睐.在京东和当当两大平台上,都分别取得了不错的绩: 当当:计算机新书热卖榜第一名 京东:科技IT新书榜 ...
- 安装Ubuntu 出现ubi partman crashed,ubi-partman failed with exit code 10
出现这个问题好像是因为硬盘中有遗留的raid信息导致. 在安装选项中添加 nodmraid参数,再启动进行安装就好了 如果不会添加参数可以参考这篇文章:安装ubuntu时黑屏三种解决办法 就和添加 n ...
- Kubernetes 的层级命名空间介绍
原文链接:https://fuckcloudnative.io/posts/introducing-hierarchical-namespaces/ 在单个 Kubernetes 集群上安全托管大量用 ...