我是一名MATLAB初學者,我想知道如何從我的相機以5秒的間隔獲取並保存20張圖像。非常感謝你。如何使用MATLAB以定時間隔獲取圖像?
回答
要獲取圖像,相機是否附帶一些記錄的方式來從計算機控制它? MATLAB支持連接到outside libraries。或者您可以按照MatlabDoug的建議購買相應的MATLAB工具箱。
要保存圖像,IMWRITE可能是最簡單的選擇。
重複該動作,一個簡單的FOR循環與PAUSE會給你大概你想要的東西很少的工作:
for ctr = 1:20
img = AcquireImage(); % your function goes here
fname = ['Image' num2str(ctr)]; % make a file name
imwrite(img, fname, 'TIFF');
pause(5); % or whatever number suits your needs
end
但是,如果你需要精確,每隔5秒,你就會有潛入TIMER s。這裏有一個簡單的例子:
function AcquireAndSave
persistent FileNum;
if isempty(FileNum)
FileNum = 1;
end
img = AcquireImage();
fname = ['Image' num2str(FileNum)];
imwrite(img, fname, 'TIFF');
disp(['Just saved image ' fname]);
FileNum = FileNum + 1;
end
>> t = timer('TimerFcn', 'ShowTime', 'Period', 5.0, 'ExecutionMode', 'fixedRate');
>> start(t);
...you should see the disp line from AcquireAndSave repeat every 5 seconds...
>> stop(t);
>> delete(t);
這裏是獲取一個圖像的快速教程http://www.mathworks.com/products/imaq/description5.html你有沒有得到這種東西的工作呢?
編輯:
現在,你可以得到一個形象,你想獲得二十歲。一個計時器對象或一個簡單的for循環就是你所需要的。
Video example of timers in MATLAB
一定要設置 「任務,實行」 場到二十。此外,你應該把你有一張圖片的所有代碼包裝到一個函數中。
我得到那個工作。但它只是一個圖像。所以現在我試圖以5秒的間隔得到20張圖片。非常感謝你! – Veronica 2009-09-24 03:34:07
有幾種方法可以解決這個問題,每種方法都有其優點和缺點。根據您迄今發佈的信息,我將如何做到這一點:
vid = videoinput('dcam', 1'); % Change for your hardware of course.
vid.FramesPerTrigger = 20;
vid.TriggerRepeat = inf;
triggerconfig(vid, 'manual');
vid.TimerFcn = 'trigger(vid)';
vid.TimerPeriod = 5;
start(vid);
這將每5秒鐘獲取20張圖像,直到您致電STOP。您可以更改TriggerRepeat參數以更改採集發生的次數。
這顯然不會對獲取後的圖像進行任何處理。
首先構建一個視頻輸入接口
vid = videoinput('winvideo',1,'RGB24_400x300');
你需要調整的最後一位爲你的網絡攝像頭。爲了找到攝像頭設備(以及除了其他的東西)的列表使用:
imaqhwinfo
下使第一攝像頭爲對象
a=imaqhwinfo('winvideo',1)
找到支持的視頻格式與列表
a.SupportedFormats
然後,您需要啓動界面:
start(vid);
preview(vid);
現在你可以做到以下幾點:
pics=cell(1,20)
for i=1:20
pause(5);
pics{i}=getsnapshot(vid);
end
或者其他評論家們注意到,你也可以使用間隔Matlab的計時器。
如果您希望以更短的間隔(每秒1次或更多)捕獲圖像,將網絡攝像頭視爲視頻源可能更有用。我已經給this question留下了一個答案,其中列出了實現這一點的方法。
- 1. matlab繪圖的設定時間間隔
- 2. 從Matlab中的時鐘圖像獲取時間 - 圖像處理
- 3. Android:如何以不同的時間間隔顯示圖像?
- 4. 的Windows Mobile 6捕獲圖像指定的時間間隔
- 5. 獲取時間間隔
- 6. 如何在matlab中定義epsilon間隔?
- 7. 如何使用MATLAB獲取文件夾內的所有圖像?
- 8. 如何以一定間隔平移一組圖像
- 9. 如何按時間間隔獲取日期時間組
- 10. 以特定的時間間隔以
- 11. 用MATLAB獲取圖像的一部分
- 12. 如何獲取兩次查詢之間的時間間隔?
- 13. 如何使用linspace matlab函數獲取圖像中所有像素的y值?
- 14. 時間間隔後圖像的變化
- 15. 獲取殘留在定時器的時間間隔在夫特
- 16. 如何使用opencv單擊圖像時獲取相機的曝光時間?
- 17. 如何在使用DKImagePickerController時使用exif數據獲取圖像?
- 18. 獲取時間間隔的計數
- 19. matlab間隔空間
- 20. 是否可以使用Gmail API從一段時間間隔獲取gmail?
- 21. 如何使用IHTMLSelectionObject獲取圖像?
- 22. 如何使用FreeImage獲取子圖像
- 23. 如何使用simplexml獲取圖像src
- 24. 我如何使用preg_match_all獲取圖像
- 25. 如何獲取圖像,並使用PHP
- 26. 如何使用jQuery獲取圖像ID?
- 27. 如何把一個時間間隔隨機圖像變化
- 28. 如何在一段時間間隔後顯示圖像?
- 29. 通過使用Matlab讀取每幀圖像並使用Matlab顯示圖像
- 30. 如何使用$ .ajax()以設定的時間間隔更新Rails partials?
我有圖像採集工具箱,但我無法配置如何得到我需要的東西。將嘗試您發佈的方法。非常感謝你! – Veronica 2009-09-24 03:40:22