2012-06-22 78 views
0

我有一個Matlab代碼,我已經把它編譯成了一個exe文件,並從VB6運行。我需要不斷地將從攝像頭獲取的圖像保存在代碼中,這似乎沒有發生。當我運行該exe文件時,圖片不會保存在該位置,而是隻有在關閉後才能保存。但我需要在exe文件運行期間保存圖像。我的代碼是:Matlab .exe不能正常工作

function [im]=cam_img() 
clear all 
clc 
tic; 

vid=videoinput('winvideo'); 
vid.FramesPerTrigger=1; 
while(1) 
endtime=toc; 
if(mod(round(endtime),3)==0) 
    image=getsnapshot(vid); 
    image=rgb2gray(image); 
    imwrite(image,'pixellinkimage.jpg') 
end 
end 
end 

我該如何解決這個問題?請告訴我。非常感謝!

+0

當您從Matlab的這段代碼,會發生什麼?圖像是否定期保存? – grantnz

+0

@grantnz是的,它是。圖像刷新並定期保存。 – user877852

+0

@ user877852:忙循環是一個壞主意,請使用[TIMER](http://www.mathworks.com/help/techdoc/ref/timer.html)對象代替 – Amro

回答

0

你的問題是這樣的:

while(1) 

這是一個無限循環,永不退出

+0

嗨slayton,謝謝!嗯好吧。但我確實希望始終獲得視頻的快照。除此之外,還有什麼辦法可以嗎?爲什麼只有關閉.exe文件才能保存圖像? – user877852