Si se refiere a Anaglyph 3D, con las dos imágenes que puede hacer lo siguiente:
left = imread('vipstereo_hallwayLeft.png');
right = imread('vipstereo_hallwayRight.png');
imshow(cat(3, left(:,:,1), right(:,:,2:3)));
de que ya vienen con la caja de herramientas de procesamiento de imágenes tanto png.
El resultado será este (. Y se puede mirarlo con gafas rojo/cian lo hice!):
ya he intentado este método con reales fotos de 2 maneras:
1 2 fotos tomadas al mismo tiempo con 2 cámaras diferentes un poco desplazadas;
2. 2 fotos tomadas en muy poco tiempo con una cámara en movimiento. (modo de ráfaga)
Y ambos dieron excelentes resultados.
A continuación, hacerlo con 2 cámaras web, es necesario: 1.
ellos init adecuadamente;
2. configúrelos para obtener 1 fotograma por disparador;
3. activarlos y obtener ambos marcos;
4. mezclar cuadros y mostrarlos.
no tengo 2 webcams así que no era capaz de probarlo, pero creo que este código puede hacerlo:
Cámaras configuración:
% Get a handle to each cam
Lvid = videoinput('winvideo', 1, 'YUY2_1280x1024');
Rvid = videoinput('winvideo', 2, 'YUY2_1280x1024');
% Set them to get one frame/trigger
Lvid.FramesPerTrigger = 1;
Rvid.FramesPerTrigger = 1;
Después, realice un bucle infinito para conseguir marcos , mezclarlos y mostrar el resultado.
while(1)
% Trigers both video sources
start(Lvid);
start(Rvid);
% Get the frames
left = getdata(Lvid);
right = getdata(Rvid);
% Convert them to RGB
left = ycbcr2rgb(left);
right = ycbcr2rgb(right);
% mix them (R from right + GB from left)
frame = cat(3, left(:,:,1), right(:,:,2:3));
% show
imshow(frame);
pause(0.0001) % to refresh imshow
end
Tenga en cuenta que desde mi webcam es YUV tengo que convertirla a RGB antes de mezclar las imágenes.
Espero que esto te ayude!
Tengo problemas para visualizar esto. ¿Puedes mostrar una imagen de muestra de tu resultado? – PearsonArtPhoto
Me gusta esto: http://programmerpayback.com/2011/04/16/live-stereoscopic-3d-in-the-mmp-player-framework/ Sin embargo, en lugar de tener una cámara roja y otra azul, igual que sería sin dividir el espacio de color. – user1300561
Miré tu enlace @ user1300561: idea genial. Por desgracia, no puedo evitar responder a tu pregunta: - / – Richard