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'')');