SlideShare una empresa de Scribd logo
1 de 19
Julen Segura
Instrumentación para visión
Práctica final (Android App)
Máster Oficial en Visión Artificial
Universidad Rey Juan Carlos
06 de mayo de 2014
Índice
2
Introducción ………………………………………... 3
La aplicación 3DStereoglyph …………………………………………………...…… 3
El 3D Esteoscópcio …………………………………………..………….……….......... 4
Los anaglifos ………………..………………………………….…………………..………. 5
Requisitos …….………..………………………..….. 9
Funcionamiento ……………………….……..…. 10
Inicio ………………………….……………….………..………………………………...… 10
Cámara ….…………………………….…………….….…………………….………....... 11
Procesado de imágenes ………….………………………..…………………….…. 12
Resultado ………………………………………………..………………………………... 15
Vídeo demostrativo ……………………………………..…….………………....…. 17
El futuro de 3DStereoglyph ……….…….…. 18
Posibles mejoras de la aplicación ……………………………………..…..…… 19
Continuidad de la aplicación ….…...…………………………………….......... 20
Introducción
La aplicación 3DStereoglyph
• ¿Qué hace?
– Proporciona ayuda para tomar un par estéreo de imágenes
con una única cámara.
– Convierte dicho par estéreo en una imagen 3D anaglífica
que puede ser visualizada con las gafas correspondientes
en una pantalla estándar 2D.
• ¿Por qué?
– Auge del mercado 3D.
– La práctica totalidad de los dispositivos móviles:
• sólo dispone de una cámara.
• tiene una pantalla 2D. 3
El 3D Estereoscópico
• Crea una sensación de profundidad a partir de un par
estéreo de imágenes (dos imágenes de la misma
escena, con disparidad en el eje horizontal), llevando
a cada ojo únicamente la imagen que le corresponde.
4
Los anaglifos
• Codificación por colores de un par estéreo.
• El resultado es una única imagen que combina la
información del ambas imágenes del par.
– Puede visualizarse en una
pantalla 2D corriente.
– Requiere unas gafas con
filtros de los colores
adecuados para su
visualización 3D.
5
• Existen diferentes combinaciones de colores.
– Verde/magenta, ámbar/azul,…
– La más común: rojo/cyan.
– Son colores complementarios
• Al pasar el color A a través de un filtro
de color B, se elimina la información
de color y queda una imagen de
intensidades en escala de grises.
• Al pasar el color A a través de un filtro
de color A, la imagen no cambia.
• La unión de ambos contiene los tres
canales RGB.
6
• Creación de anaglifos
–
7
– La imagen izquierda se codifica en
cyan.
• Para ello, en una imagen RGB se
eliminan la componente R.
• Se conservan G y B.
– La imagen derecha se codifica en
rojo.
• Para ello, en una imagen RGB se
eliminan las componentes G y B.
• Se conserva R.
– Al fusionar dichas imágenes (o crear una imagen a
partir de los canales GB+R extraídos), se obtiene un
anaglifo.
• Las zonas en que ambas imágenes coincidan tendrán los tres
canales RGB, y por tanto recuperan su color original.
8
Requisitos para implementar
3DStereoglyph
Build Target:
API level 11
Android 3.0 (HONEYCOMB)
que es el mínimo requerido para la
Librería:
OpenCV 2.4.8
Guía de instalación e inclusión en
un proyecto: [Tutorial on OpenCV]
9
Funcionamiento
Inicio Main.java (Activity)
layout_inicio.xml layout_instrucciones.xml
• Menú inicial y pantalla de instrucciones.
• Si no existen, se crean en la tarjeta SD los directorios necesarios.
10
Cámara
PhotoView.java (JavaCameraView)
Photo1.java (Activity) Photo 2.java (Activity)
layout_camaraview.xml
• SurfaceView
• ImageView
Imagen 1
Transparencia= 0.5
Imagen 2
Ayuda para alinear
11
Nota: las funciones para abrir la cámara de los activity Photo1 y Photo2, y la función para tomar una imagen
de JavaCameraView, se extrajeron de los tutoriales “Mixed Processing” y “Camera control” de OpenCV 2.4.8.
Procesado de imágenes
Process3D.java (Activity)
layout_procesar3d.xml
• Intercambiar imágenes.
• Convertir a 3D.
12
• Intercambiar imágenes:
13
public void onCreate(Bundle savedInstanceState) {
…
Options options = new Options();
options.inTempStorage = new byte[16*1024]; options.inSampleSize = 4;
myBitmap= BitmapFactory.decodeFile(imageFileName, options);
…
myImageView= (ImageView)findViewById(R.id.izquierda);
myImageView.setImageBitmap(myBitmap);
…}
public void onClick(View v) {
int id = v.getId();
if (id == R.id.boton1) {
cuenta_cambios=cuenta_cambios+1;
cambiar();
} else if (id == R.id.boton2) {
procesar(); }
}
private void cambiar() {
aux=myBitmap;
myBitmap=myBitmap2;
myBitmap2=aux;
myImageView= (ImageView)findViewById(R.id.izquierda);
myImageView.setImageBitmap(myBitmap);
…
}
Si se pulsa “Cambiar”:
-Se aumenta el contador.
-Se llama a la función cambiar.
Si se pulsa “Convertir a 3D”:
-Se llama a la función procesar.
Se asocian al ImageView en el
que se vayan a mostrar.
Se cargan las imágenes en
bitmaps con menor resolución
para utilizar menos memoria.
Se carga el layout y se ponen
los botones a la escucha.
Se intercambian los bitmaps
con ayuda de un auxiliar.
Se vuelven a asociar a los ImageView
donde se muestran.
Función
cambiar
• Convertir a 3D:
14
public void procesar() {
…
zda = Highgui.imread(imageFileName);
dcha = Highgui.imread(imageFileName2);
List<Mat> rgb_channel = new ArrayList<Mat>();
Core.split(izda, rgb_channel);
List<Mat> rgb_channel2 = new ArrayList<Mat>();
Core.split(dcha, rgb_channel2);
Size size = izda.size(); imagen3D = new Mat(size,CvType.CV_8U);
List<Mat> rgb_channel3 = new ArrayList<Mat>();
rgb_channel3.add(rgb_channel2.get(0));
rgb_channel3.add(rgb_channel2.get(1));
rgb_channel3.add(rgb_channel.get(2));
Core.merge(rgb_channel3, imagen3D);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");
Date now = new Date();
String imageFileName3 = Environment.getExternalStorageDirectory().toString()+"/3DStereoglyph/3D_images/"+
formatter.format(now) + "_3D.jpg";
Highgui.imwrite(imageFileName3, imagen3D);
mostrar_resultado(imageFileName3);}
Se obtienen los canales
B y G de la imagen izda.
y el R de la imagen dcha.
Se unen en una matriz =
imagen anaglífica.
Se separan las imágenes
en sus canales (BGR).
Se preparan un array y una
matriz para los canales y la
matriz de la imagen final.
Se cargan las imágenes con OpenCV = matrices Mat.
Cuál es Izda o dcha depende de cuántas veces se han
intercambiado las imágenes tomadas (contador).
Se llama a la función que
muestra el resultado.
Se guarda la imagen en el directorio, con un nombre
único (fecha y hora) para evitar su sobreescritura.
Función
procesar
Resultado
• Se muestra el resultado en layout_resultado.xml.
• Se guarda en el directorio de la aplicación.
15
Otros resultados:
16
Vídeo demostrativo
https://www.youtube.com/watch?v=RDVqdDJc5DI
17
El futuro de 3DStereoglyph
Posibles mejoras de la aplicación
• En la captura de imágenes
– Estabilización de la señal de entrada.
• En la conversión a 3D
– Posibilidad de correcciones en la alineación de las
imágenes.
– Otras codificaciones:
• Otros colores de anaglifos.
• Codificaciones para pantallas estereoscópicas: side-by-side,
entrelazado, etc.
18
Continuidad de la aplicación
• Dispositivos con pantalla estereoscópica
Ayuda en la toma de pares estéreo alineados.
Conversión del par a 3D.
• Dispositivos con dos cámaras
 Ayuda en la toma de pares estéreo alineados.
Conversión del par a 3D.
• Dispositivos con dos cámaras y pantalla
estereoscópica
 Ayuda en la toma de pares estéreo alineados.
Conversión del par a 3D.
19

Más contenido relacionado

Destacado

Retención en la fuente
Retención en la fuenteRetención en la fuente
Retención en la fuenteYeseniaLopezS
 
مرگ.رنگ -سهراب.سپهری
مرگ.رنگ -سهراب.سپهریمرگ.رنگ -سهراب.سپهری
مرگ.رنگ -سهراب.سپهریFarid Kamali
 
Libro para el maestro
Libro para el maestroLibro para el maestro
Libro para el maestroJHENNYREYES
 
Neu in WordPress – Wo finde ich Hilfe und Informationen. BarCamp Braunschweig...
Neu in WordPress – Wo finde ich Hilfe und Informationen. BarCamp Braunschweig...Neu in WordPress – Wo finde ich Hilfe und Informationen. BarCamp Braunschweig...
Neu in WordPress – Wo finde ich Hilfe und Informationen. BarCamp Braunschweig...frankstaude
 
LAS TIC EN CLASE
LAS TIC EN CLASELAS TIC EN CLASE
LAS TIC EN CLASEKelly Ossa
 
Der Wind
Der WindDer Wind
Der WindAster46
 
guiapara elcurado del hormigon
guiapara elcurado del hormigonguiapara elcurado del hormigon
guiapara elcurado del hormigonOscar Tapia
 
Suchmaschinen Optimierung
Suchmaschinen OptimierungSuchmaschinen Optimierung
Suchmaschinen Optimierungch.ch
 
Mario Jose Camacaro Peraza
Mario Jose Camacaro PerazaMario Jose Camacaro Peraza
Mario Jose Camacaro Perazamariocp30
 
Wie erstelle ich einen Publikationszeitplan
Wie erstelle ich einen PublikationszeitplanWie erstelle ich einen Publikationszeitplan
Wie erstelle ich einen PublikationszeitplanEditage Germany
 
Insiderreport De
Insiderreport DeInsiderreport De
Insiderreport Deguestcce0ec
 
Einfluss von Social Media auf Recruiting & Employer Branding
Einfluss von Social Media auf Recruiting & Employer BrandingEinfluss von Social Media auf Recruiting & Employer Branding
Einfluss von Social Media auf Recruiting & Employer Brandingxeit AG
 
Tð Çhrï§
Tð Çhrï§Tð Çhrï§
Tð Çhrï§0oAnnAo0
 

Destacado (20)

Los skaters;)xd
Los skaters;)xdLos skaters;)xd
Los skaters;)xd
 
Retención en la fuente
Retención en la fuenteRetención en la fuente
Retención en la fuente
 
Slidashare
SlidashareSlidashare
Slidashare
 
مرگ.رنگ -سهراب.سپهری
مرگ.رنگ -سهراب.سپهریمرگ.رنگ -سهراب.سپهری
مرگ.رنگ -سهراب.سپهری
 
Unfaelle
UnfaelleUnfaelle
Unfaelle
 
Libro para el maestro
Libro para el maestroLibro para el maestro
Libro para el maestro
 
Neu in WordPress – Wo finde ich Hilfe und Informationen. BarCamp Braunschweig...
Neu in WordPress – Wo finde ich Hilfe und Informationen. BarCamp Braunschweig...Neu in WordPress – Wo finde ich Hilfe und Informationen. BarCamp Braunschweig...
Neu in WordPress – Wo finde ich Hilfe und Informationen. BarCamp Braunschweig...
 
Ada 4 bloque 2
Ada 4 bloque 2Ada 4 bloque 2
Ada 4 bloque 2
 
LAS TIC EN CLASE
LAS TIC EN CLASELAS TIC EN CLASE
LAS TIC EN CLASE
 
Marktinfo Schweden 2015
Marktinfo Schweden 2015Marktinfo Schweden 2015
Marktinfo Schweden 2015
 
copaso
copasocopaso
copaso
 
Der Wind
Der WindDer Wind
Der Wind
 
Dunkel
DunkelDunkel
Dunkel
 
guiapara elcurado del hormigon
guiapara elcurado del hormigonguiapara elcurado del hormigon
guiapara elcurado del hormigon
 
Suchmaschinen Optimierung
Suchmaschinen OptimierungSuchmaschinen Optimierung
Suchmaschinen Optimierung
 
Mario Jose Camacaro Peraza
Mario Jose Camacaro PerazaMario Jose Camacaro Peraza
Mario Jose Camacaro Peraza
 
Wie erstelle ich einen Publikationszeitplan
Wie erstelle ich einen PublikationszeitplanWie erstelle ich einen Publikationszeitplan
Wie erstelle ich einen Publikationszeitplan
 
Insiderreport De
Insiderreport DeInsiderreport De
Insiderreport De
 
Einfluss von Social Media auf Recruiting & Employer Branding
Einfluss von Social Media auf Recruiting & Employer BrandingEinfluss von Social Media auf Recruiting & Employer Branding
Einfluss von Social Media auf Recruiting & Employer Branding
 
Tð Çhrï§
Tð Çhrï§Tð Çhrï§
Tð Çhrï§
 

Similar a Presentación 3DStereoglyph (Android App)

UtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLABUtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLABdpatriciocastillom
 
23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlab23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlabRicardo Villalobos Rojas
 
Sistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento ySistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento yviisonartificial2012
 
Manual de practicas segundo parcial
Manual de practicas segundo parcialManual de practicas segundo parcial
Manual de practicas segundo parcialGuillermo Mendoza
 
Manual gimp cap9
Manual gimp cap9Manual gimp cap9
Manual gimp cap9Gurrugno
 
Pasos para dibujar figura en 3 d
Pasos para dibujar figura en 3 dPasos para dibujar figura en 3 d
Pasos para dibujar figura en 3 dUNSCH
 
Glosario de términos de diseño 3d
Glosario de términos de diseño 3dGlosario de términos de diseño 3d
Glosario de términos de diseño 3dAfm Zabaleta
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2jcbp_peru
 
Utp pdi_2014-2 lab3 borrador
 Utp pdi_2014-2 lab3 borrador Utp pdi_2014-2 lab3 borrador
Utp pdi_2014-2 lab3 borradorjcbp_peru
 
Curso de fotografia ajustes fotograficos
Curso de fotografia   ajustes fotograficosCurso de fotografia   ajustes fotograficos
Curso de fotografia ajustes fotograficosxbox360colombia
 
Introducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLIntroducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLkdeespana
 
(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicular(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicularOscar Avilés
 
Colegio nacional nicolas esguerra
Colegio nacional nicolas esguerraColegio nacional nicolas esguerra
Colegio nacional nicolas esguerraGustavo Hinestroza
 
Pdiva 2012 2 balotario pc1
Pdiva 2012 2 balotario pc1Pdiva 2012 2 balotario pc1
Pdiva 2012 2 balotario pc1jcbenitezp
 

Similar a Presentación 3DStereoglyph (Android App) (20)

UtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLABUtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
 
140j9t1zwvw7elgr8qo1 090527055423-phpapp01
140j9t1zwvw7elgr8qo1 090527055423-phpapp01140j9t1zwvw7elgr8qo1 090527055423-phpapp01
140j9t1zwvw7elgr8qo1 090527055423-phpapp01
 
23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlab23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlab
 
Cursovision
CursovisionCursovision
Cursovision
 
Sistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento ySistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento y
 
Manual de practicas segundo parcial
Manual de practicas segundo parcialManual de practicas segundo parcial
Manual de practicas segundo parcial
 
Manual gimp cap9
Manual gimp cap9Manual gimp cap9
Manual gimp cap9
 
Estela y naye
Estela y nayeEstela y naye
Estela y naye
 
Pasos para dibujar figura en 3 d
Pasos para dibujar figura en 3 dPasos para dibujar figura en 3 d
Pasos para dibujar figura en 3 d
 
main
mainmain
main
 
Glosario de términos de diseño 3d
Glosario de términos de diseño 3dGlosario de términos de diseño 3d
Glosario de términos de diseño 3d
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
 
Utp pdi_2014-2 lab3 borrador
 Utp pdi_2014-2 lab3 borrador Utp pdi_2014-2 lab3 borrador
Utp pdi_2014-2 lab3 borrador
 
Entregable3
Entregable3Entregable3
Entregable3
 
Curso de fotografia ajustes fotograficos
Curso de fotografia   ajustes fotograficosCurso de fotografia   ajustes fotograficos
Curso de fotografia ajustes fotograficos
 
Introducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLIntroducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGL
 
(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicular(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicular
 
Colegio nacional nicolas esguerra
Colegio nacional nicolas esguerraColegio nacional nicolas esguerra
Colegio nacional nicolas esguerra
 
Guion
GuionGuion
Guion
 
Pdiva 2012 2 balotario pc1
Pdiva 2012 2 balotario pc1Pdiva 2012 2 balotario pc1
Pdiva 2012 2 balotario pc1
 

Último

NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolicalf1231
 
Condensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismoCondensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismosaultorressep
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 

Último (20)

NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
07 MECANIZADO DE CONTORNOS para torno cnc universidad catolica
 
Condensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismoCondensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismo
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 

Presentación 3DStereoglyph (Android App)

  • 1. Julen Segura Instrumentación para visión Práctica final (Android App) Máster Oficial en Visión Artificial Universidad Rey Juan Carlos 06 de mayo de 2014
  • 2. Índice 2 Introducción ………………………………………... 3 La aplicación 3DStereoglyph …………………………………………………...…… 3 El 3D Esteoscópcio …………………………………………..………….……….......... 4 Los anaglifos ………………..………………………………….…………………..………. 5 Requisitos …….………..………………………..….. 9 Funcionamiento ……………………….……..…. 10 Inicio ………………………….……………….………..………………………………...… 10 Cámara ….…………………………….…………….….…………………….………....... 11 Procesado de imágenes ………….………………………..…………………….…. 12 Resultado ………………………………………………..………………………………... 15 Vídeo demostrativo ……………………………………..…….………………....…. 17 El futuro de 3DStereoglyph ……….…….…. 18 Posibles mejoras de la aplicación ……………………………………..…..…… 19 Continuidad de la aplicación ….…...…………………………………….......... 20
  • 3. Introducción La aplicación 3DStereoglyph • ¿Qué hace? – Proporciona ayuda para tomar un par estéreo de imágenes con una única cámara. – Convierte dicho par estéreo en una imagen 3D anaglífica que puede ser visualizada con las gafas correspondientes en una pantalla estándar 2D. • ¿Por qué? – Auge del mercado 3D. – La práctica totalidad de los dispositivos móviles: • sólo dispone de una cámara. • tiene una pantalla 2D. 3
  • 4. El 3D Estereoscópico • Crea una sensación de profundidad a partir de un par estéreo de imágenes (dos imágenes de la misma escena, con disparidad en el eje horizontal), llevando a cada ojo únicamente la imagen que le corresponde. 4
  • 5. Los anaglifos • Codificación por colores de un par estéreo. • El resultado es una única imagen que combina la información del ambas imágenes del par. – Puede visualizarse en una pantalla 2D corriente. – Requiere unas gafas con filtros de los colores adecuados para su visualización 3D. 5
  • 6. • Existen diferentes combinaciones de colores. – Verde/magenta, ámbar/azul,… – La más común: rojo/cyan. – Son colores complementarios • Al pasar el color A a través de un filtro de color B, se elimina la información de color y queda una imagen de intensidades en escala de grises. • Al pasar el color A a través de un filtro de color A, la imagen no cambia. • La unión de ambos contiene los tres canales RGB. 6
  • 7. • Creación de anaglifos – 7 – La imagen izquierda se codifica en cyan. • Para ello, en una imagen RGB se eliminan la componente R. • Se conservan G y B. – La imagen derecha se codifica en rojo. • Para ello, en una imagen RGB se eliminan las componentes G y B. • Se conserva R.
  • 8. – Al fusionar dichas imágenes (o crear una imagen a partir de los canales GB+R extraídos), se obtiene un anaglifo. • Las zonas en que ambas imágenes coincidan tendrán los tres canales RGB, y por tanto recuperan su color original. 8
  • 9. Requisitos para implementar 3DStereoglyph Build Target: API level 11 Android 3.0 (HONEYCOMB) que es el mínimo requerido para la Librería: OpenCV 2.4.8 Guía de instalación e inclusión en un proyecto: [Tutorial on OpenCV] 9
  • 10. Funcionamiento Inicio Main.java (Activity) layout_inicio.xml layout_instrucciones.xml • Menú inicial y pantalla de instrucciones. • Si no existen, se crean en la tarjeta SD los directorios necesarios. 10
  • 11. Cámara PhotoView.java (JavaCameraView) Photo1.java (Activity) Photo 2.java (Activity) layout_camaraview.xml • SurfaceView • ImageView Imagen 1 Transparencia= 0.5 Imagen 2 Ayuda para alinear 11 Nota: las funciones para abrir la cámara de los activity Photo1 y Photo2, y la función para tomar una imagen de JavaCameraView, se extrajeron de los tutoriales “Mixed Processing” y “Camera control” de OpenCV 2.4.8.
  • 12. Procesado de imágenes Process3D.java (Activity) layout_procesar3d.xml • Intercambiar imágenes. • Convertir a 3D. 12
  • 13. • Intercambiar imágenes: 13 public void onCreate(Bundle savedInstanceState) { … Options options = new Options(); options.inTempStorage = new byte[16*1024]; options.inSampleSize = 4; myBitmap= BitmapFactory.decodeFile(imageFileName, options); … myImageView= (ImageView)findViewById(R.id.izquierda); myImageView.setImageBitmap(myBitmap); …} public void onClick(View v) { int id = v.getId(); if (id == R.id.boton1) { cuenta_cambios=cuenta_cambios+1; cambiar(); } else if (id == R.id.boton2) { procesar(); } } private void cambiar() { aux=myBitmap; myBitmap=myBitmap2; myBitmap2=aux; myImageView= (ImageView)findViewById(R.id.izquierda); myImageView.setImageBitmap(myBitmap); … } Si se pulsa “Cambiar”: -Se aumenta el contador. -Se llama a la función cambiar. Si se pulsa “Convertir a 3D”: -Se llama a la función procesar. Se asocian al ImageView en el que se vayan a mostrar. Se cargan las imágenes en bitmaps con menor resolución para utilizar menos memoria. Se carga el layout y se ponen los botones a la escucha. Se intercambian los bitmaps con ayuda de un auxiliar. Se vuelven a asociar a los ImageView donde se muestran. Función cambiar
  • 14. • Convertir a 3D: 14 public void procesar() { … zda = Highgui.imread(imageFileName); dcha = Highgui.imread(imageFileName2); List<Mat> rgb_channel = new ArrayList<Mat>(); Core.split(izda, rgb_channel); List<Mat> rgb_channel2 = new ArrayList<Mat>(); Core.split(dcha, rgb_channel2); Size size = izda.size(); imagen3D = new Mat(size,CvType.CV_8U); List<Mat> rgb_channel3 = new ArrayList<Mat>(); rgb_channel3.add(rgb_channel2.get(0)); rgb_channel3.add(rgb_channel2.get(1)); rgb_channel3.add(rgb_channel.get(2)); Core.merge(rgb_channel3, imagen3D); SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss"); Date now = new Date(); String imageFileName3 = Environment.getExternalStorageDirectory().toString()+"/3DStereoglyph/3D_images/"+ formatter.format(now) + "_3D.jpg"; Highgui.imwrite(imageFileName3, imagen3D); mostrar_resultado(imageFileName3);} Se obtienen los canales B y G de la imagen izda. y el R de la imagen dcha. Se unen en una matriz = imagen anaglífica. Se separan las imágenes en sus canales (BGR). Se preparan un array y una matriz para los canales y la matriz de la imagen final. Se cargan las imágenes con OpenCV = matrices Mat. Cuál es Izda o dcha depende de cuántas veces se han intercambiado las imágenes tomadas (contador). Se llama a la función que muestra el resultado. Se guarda la imagen en el directorio, con un nombre único (fecha y hora) para evitar su sobreescritura. Función procesar
  • 15. Resultado • Se muestra el resultado en layout_resultado.xml. • Se guarda en el directorio de la aplicación. 15
  • 18. El futuro de 3DStereoglyph Posibles mejoras de la aplicación • En la captura de imágenes – Estabilización de la señal de entrada. • En la conversión a 3D – Posibilidad de correcciones en la alineación de las imágenes. – Otras codificaciones: • Otros colores de anaglifos. • Codificaciones para pantallas estereoscópicas: side-by-side, entrelazado, etc. 18
  • 19. Continuidad de la aplicación • Dispositivos con pantalla estereoscópica Ayuda en la toma de pares estéreo alineados. Conversión del par a 3D. • Dispositivos con dos cámaras  Ayuda en la toma de pares estéreo alineados. Conversión del par a 3D. • Dispositivos con dos cámaras y pantalla estereoscópica  Ayuda en la toma de pares estéreo alineados. Conversión del par a 3D. 19