歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> matlab下拍照功能的實現

matlab下拍照功能的實現

日期:2017/3/1 10:02:22   编辑:Linux編程

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 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);']);%hImage是為了讓拍照在本窗口顯示,去掉後就相當於另外生成一個窗口
%當然也可以獲得拍照效果,當時操作不方便
hb2=uicontrol('Parent',hf,'Units','Normalized',...
'Position',[.55 .05 .2 .1],'String','拍照',...
'Callback','imwrite(getsnapshot(obj),''in.jpg'')');

Copyright © Linux教程網 All Rights Reserved