taking input from two cameras at a same time in Matlab

46 Ansichten (letzte 30 Tage)
Hashem Burki
Hashem Burki am 9 Mai 2011
Kommentiert: Thao Pham am 25 Mär. 2020
how can i use and take input from two cameras at the same time?

Akzeptierte Antwort

David Tarkowski
David Tarkowski am 11 Mai 2011
In general working with two cameras is the same as working with a single camera. You create a videoinput object for each device that you wish to capture from and the call start on each device:
vid1 = videoinput('winvideo', 1);
vid2 = videoinput('winvideo', 2);
start([vid1 vid2]);
These devices will be started at roughly the same time, but will not by synchronized due to delays imposed by the operating system and drivers in actually starting them. To synchronize multiple devices precisely, you generally need to use devices that support hardware triggering.
  5 Kommentare
Image Analyst
Image Analyst am 15 Feb. 2013
You need to give it a handle to an image object:
axes(handles.axes1);
handleToImageInAxes1 = image(zeros(800,600));
% Turn on the live video.
preview(vidobj, handleToImageInAxes1);
axes(handles.axes2);
handleToImageInAxes2 = image(zeros(800,600));
% Turn on the live video.
preview(vidobj, handleToImageInAxes2);
Tiago
Tiago am 15 Feb. 2013
I did like this:
vid1 = videoinput('linuxvideo',1);
vid2 = videoinput('linuxvideo',2);
handles.axes1 = subplot(1,2,1);
axes(handles.axes1);
handleToImageInAxes1 = image(zeros(800,600));
preview(vid1, handleToImageInAxes1);
handles.axes2 = subplot(1,2,2);
axes(handles.axes2);
handleToImageInAxes2 = image(zeros(800,600));
preview(vid2, handleToImageInAxes2);
and still the same error at the second preview. Any idea?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

Hassan Mehmood Khan
Hassan Mehmood Khan am 17 Sep. 2017
i did this to get snapshot from two cams at same time:
% webcamlist identification
clc;
clearvars;
webcamlist
cam=webcam;
cam2=webcam(2);
cam.AvailableResolutions;
cam2.AvailableResolutions;
cam.Resolution='640x480';
cam2.Resolution='640x480';
% preview(cam);
% preview(cam2);
img=snapshot(cam);
img2=snapshot(cam2);
img3=snapshot(cam);
img4=snapshot(cam2);
figure;
subplot(3,3,1);
imshow(img3);
subplot(3,3,2);
imshow(img4);
output
ans =
'Webcam C170'
'Logitech HD Webcam C270'

Andrei
Andrei am 2 Jun. 2018
Also refer to the following example which uses Parallel Computing Toolbox with Image Acquisition Toolbox

Walter Roberson
Walter Roberson am 9 Mai 2011

Community Treasure Hunt

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

Start Hunting!

Translated by