matlab监控摄像头获取外界图像

Matlab获取图像简介

使用matlab获取外界图像是matlab的一个重要应用领域

在此领域,matlab提供了专门用于图像获取的工具箱image acquisition toolbox,并提供了GUI可视化界面

使用matlab可以编写简单的照相和监控系统,可以用于图像获取处理和监控的仿真

 

Matlab图像获取的实现

videoinput函数

       获取外部图像获取硬件资源ID

       obj= videoinput(adaptorname);

       adaptorname为本机中安装了的图像获取硬件资源们可以通过imaqhwinfo函数查看本机中的图像获取硬件资源列表



       videoinput函数的返回值obj为一个videoinput对象,和matlab提供的所有对象一样,它具有完整的属性和函数,通过这些属性和函数的控制,可以完成用户需要的功能。

操作:obj = videoinput(‘winvideo’)

       get(obj)%获取obj的属性

 

 

videoinput对象的属性和函数

       所有属性、函数列表以及说明,可以通过下面的命令在matlab工作空间展示出来:

       imaqhelp videoinput

下面介绍几个最为普遍的属性和方法,通过这些属性和方法,可以建立起简单的拍照系统

(1)  FramesPerTrigger,每次触发硬件获得的帧数;

(2)  TirggerRepeat,每次触发需要的时间;

(3)  FramesAcquired,一个图像获取硬件所获得的帧总数;

(4)  VideoResolution,图像分辨率;

 

videoinput对象的属性和函数

(1)  getsnapshot,获取图像,即摄像

(2)  preview/closepreview,预览图像/关闭预览

(3)  start/stop,启动设备/停止设备;

下面演示一下一个简单的拍照界面的实现。

       功能:

       图像显示界面

       图像凸显功能

       拍照功能

代码:

obj = videoinput(‘winvideo’);

set(obj,’TriggerRepeat’,inf);

set(obj,’FramesPerTrigger’,1);

%建立界面

hf = figure(‘Units’,’Normalized’,’Menubar’,’None’,’NumberTitle’,’off’,’Name’,’演示拍照系统’);

ha = axes(‘Parent’,hf,’Units’,’Normalized’,’Position’,[.05.2 .85 .7]);

axis off

 

hb1 = uicontrol(‘Parent’,hf,’Units’,’Normalized’,’Position’,[.25.05 .2 .1],’String’,’预览’,’Callback’,…

[‘objRes = get(obj,’’VideoResolution’’);’…

‘nBands = get(obj,’’NumberOfBands’’);’…

‘hImage = image(zeros(objRes(2),objRes(1),nBands));’…

‘preview(obj,hImage);’]);

Hb2 = uicontrol(‘Parent’,hf,’Units’,’Normalized’,’Position’,[.55.05 .2 .1],’String’,’拍照’,…

‘Callback’,’imwrite(getsnapshot(obj),’’im.jpg’’)’);

 

定时功能

videoinput对象提供了实现定时的两个函数和两个属性:

函数:start和stop

属性:TimeFcn和TimePeriod

可完成定时的拍照功能,类似于监控,可用相关监控实现的仿真和系统实现。

定时拍照/监控的实现:

主要技巧

(1)  首先设置obj的定时周期和定时回调函数;

(2)  start obj

(3)  定时周期到,执行回调函数

(4)  stop obj退出系统



备注:本材料来自21世纪电子论坛经典案例教程之matlab监控摄像头获取外界图像



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值