How to Reduce the time of capturing image

Here is my code for capturing image
vid=videoinput('winvideo',1);
vid.Framespertrigger=1;
start(vid)
im=getdata(vid);
imagename=('C:\Program Files\MATLAB\R2013a\bin\test.tif');
imwrite(im,imagename);
stop(vid);
This code is taking around 2 seconds to capture one image,but the camera frame rate specifies it is 15 frames/sec,Is it possible to capture 15 images per second or even close to it? If so what modification I should make in this code, Please help me..Thank you

 採用された回答

Image Analyst
Image Analyst 2014 年 11 月 8 日

0 投票

Use "run and time" to see where the time is being spent. I bet most of it is in calling videoinput() - that takes a long time. imwrite() also takes a long time. To speed up you can use a ramdisk or use solid state drives instead of hard drives.

その他の回答 (1 件)

Anchit Dhar
Anchit Dhar 2014 年 11 月 13 日
編集済み: Anchit Dhar 2014 年 11 月 13 日

0 投票

Starting/Initializing the camera takes up some time. Starting/Stopping for each frame can slow down your application considerably. In order to capture frames at a higher frame rate, you can start the camera once and then use 'manual triggering' to grab the frames in a loop. The following example describes this method.
As an alternate solution, you can use the WEBCAM interface (introduced in R2014a).

質問済み:

2014 年 11 月 7 日

編集済み:

2014 年 11 月 13 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by