MATLAB Answers

how can i acess single lens/camera of a stereo camera in matlab?

18 ビュー (過去 30 日間)
Junaid  Bashir
Junaid Bashir 2018 年 5 月 17 日
回答済み: Islam Gaied 2019 年 3 月 29 日
i have stereo camera with two lens, i want to access each single lens of stereo camera one by one, how can i do that in matlab.? For example, i can seprate the image taken by stereocamera , i.e the image of left lens in one window and the image of right lens in other window, i want to achieve the same in live feed from my camera the live feed command preview only gives a combined feed of both cameras , i want feed of each single lens and then use "handshake" command to combine both feeds and get a 3d image


Florian Morsch
Florian Morsch 2018 年 5 月 18 日
If you can take split images for left and right just do that and add them up to your own video stream.
You can run a loop, with every itteration you take a snapshot from the left and right side and then move them to a video player.
For one camera it would be:
%Assign cam
cam = webcam();
% Capture one frame to get its size.
videoFrame = snapshot(cam);
frameSize = size(videoFrame);
% Create the video player object.
videoPlayer = vision.VideoPlayer('Position', [100 100 [frameSize(2), frameSize(1)]+30]);
runLoop = true;
FrameCount = 0;
while runLoop && FrameCount < 100
%Increase FrameCount by 1
FrameCount = FrameCount + 1
%Take a snapshot
videoFrame = snapshot(cam);
%%%Do something here, like make the picture gray
videoFrame = rgb2gray(videoFrame);
%Next frame in the Player
step(videoPlayer, videoFrame);
%Check whether the video player window has been closed.
runLoop = isOpen(videoPlayer);
If you say you can take images or snapshots from both cameras you can modify the code so you make two snapshots and use them then. Keep in mind to create a camera object and videoPlayer object for each camera.
  4 件のコメント
Junaid  Bashir
Junaid Bashir 2018 年 5 月 18 日
yes sir i understand my mistake, but the thing is i am unable to make a function for multiple outputs in this case, i know how to make a multiple output function, but in this case i can't identify what are my outputs , so i am stuck , please help me. the code for this function is as follows
function videoobject
videoframe = snapshot(a);
framesize = size(videoframe);
videoplayer= vision.VideoPlayer('Position', [100 100 [framesize(2), framesize(1)]+30]);
runLoop = true;
FrameCount = 0;
while runLoop && FrameCount < 100
FrameCount = FrameCount + 1
videoframe = snapshot(a);
videoframe = rgb2gray(videoframe);
step(videoplayer, videoframe);
runLoop = isOpen(videoplayer);
kindly guide me a bit thanks


その他の回答 (1 件)

Islam Gaied
Islam Gaied 2019 年 3 月 29 日
how can i caputres 20 images from 2 cameras left and right for stereo calibration using matlab ?
need script plz

Community Treasure Hunt

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

Start Hunting!

Translated by