matlab下拍照功能的实现

来源:互联网 发布:构架师和程序员 编辑:程序博客网 时间:2024/06/07 17:43

matlab专门用于图像获取的工具箱Image Acquisition Toolbox,并提供了GUI可视化界面、编写简单的照相和监控系统,用于图像获取处理和监控的仿真。

videoinput函数:

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

obj=videoinput(adaptorname)

imaqhwinfo获取adaptorname:winvideo

所有属性,函数列表和说明

videoinput对象的属性和函数

imaqhelp videoinput

FramesPerTrigger,每次触发硬件获得的帧数FramesPerTrigger个帧;

TriggerRepeat;再次触发所需要的时间

FramesAcquired,一个图像获取硬件所获取的帧总数

VideoResolution,图像分辨率

getsnapshot,获取图像即拍摄

preview/closepreview,预览图像/关闭预览

start/stop,启动设备/停止设备

 

拍照实现过程

功能:

图像显示界面

预览凸显功能

拍照功能

matlab源码:

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 offhb1=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);']);%hImage是为了让拍照在本窗口显示,去掉后就相当于另外生成一个窗口%当然也可以获得拍照效果,当时操作不方便hb2=uicontrol('Parent',hf,'Units','Normalized',...    'Position',[.55 .05 .2 .1],'String','拍照',...    'Callback','imwrite(getsnapshot(obj),''in.jpg'')');