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