2012-01-17 2 views
3

Функция getsnapshot занимает много времени, начиная с (я думаю), инициализирует веб-камеру каждый раз. Это проблема, если вы хотите получить изображения с высокой частотой кадров.getsnapshot speedup

Я трюк я случайно обнаружил, чтобы вызвать функцию preview, которая держит обработчик вебкамеры открыть делает getsnapshot почти мгновенно, но он держит небольшое окно предварительного просмотра открыта:

% dummy example 
cam = videoinput(...); 
preview(cam); 

while(1) 
    img = getsnapshot(cam); 
    % do stuff 
end 

Есть ли «чист» путь для ускорения getsnapshot? (без предварительного окна предварительного просмотра)

ответ

4

Вы можете использовать новую панель инструментов «машинное зрение», которая специально разработана для приложений видения. См. Код ниже:

vid = videoinput('winvideo', 1, 'RGB24_320x240'); %select input device 

hvpc = vision.VideoPlayer; %create video player object 

src = getselectedsource(vid); 
vid.FramesPerTrigger =1; 
vid.TriggerRepeat = Inf; 
vid.ReturnedColorspace = 'rgb'; 
src.FrameRate = '30'; 
start(vid) 

%start main loop for image acquisition 
for t=1:500 
    imgO=getdata(vid,1,'uint8'); %get image from camera 
    hvpc.step(imgO); %see current image in player 
end 

Как вы можете видеть, вы можете получить изображение с помощью getdata. Узким местом в видео-приложениях в Matlab было окно предварительного просмотра, которое существенно задерживалось. Новое видение. VideoPlayer - это много быстрее (я использовал этот код в приложениях реального времени в Matlab. Когда я написал первую версию без инструментария видения, достигнув частоты кадров около 18 кадров в секунду и используя новый набор инструментов, до 70!).

Примечание: Мне нужна скорость в графических приложениях с использованием Matlab, вам действительно стоит использовать OpenCV libs через mex, чтобы получить достойную производительность при манипулировании изображениями.

+0

Когда я печатаю 'videoinput' или 'getdata', он говорит, что это неопределенная функция, от которой она добавляется? –

+0

https://www.mathworks.com/help/imaq/videoinput.html?requestedDomain=www.mathworks.com – Jorge

Смежные вопросы