viernes, 1 de mayo de 2009

View-Master 3D
Bookmark and Share


Cuando era niño uno de mis primeros recuerdos es estar jugando con un visor View-Master 3D que había en casa de mi abuela, tenían una caja llena de esos peculiares disco y mis favoritos eran los de los Muppets.

Un View-Master 3D no es otra cosa que un estereoscopio, fue introducido en el mercado hace unos 70 años en la ciudad de Nueva York, siendo su creador William Gruber un fabricante de organos y fotografo que vivia en la ciudad de Portland, Oregon.

William se reunio con Harold Graves, el presidente de Sawyer's, Inc., la idea era actualizar los viejos visores estereoscópicos utilizando la tecnología emergente de Kodak llamada Kodachrome introducida en el mercado unos 5 años antes. Sawyer's Inc. se dedicaba principalmente a las postales y la idea inicial era vender las fotografías de atracciones para el visor en tiendas de postales y suvenires.


El View-Master necesitaba de disco como los del diagrama inferior, con lo que se tenían 7 fotografías estereoscópicas por disco.

Con el tiempo Sawyer's, Inc. y a traves de diversas transacciones el View-Master fue vendida a Arnold Thaler, quien creo la View-Master International Group que mas tarde adquiriria a la Ideal Toy Company para convertirse en View-Master Ideal Group que finalmente seria adquirida por Tyco Toys en 1989, la cual en 1998 se uniria a Matel, Inc.

Resulta sorprendente pensar como el View-Master termino siendo un juguete con tal exito para entrar al National Toy Hall of Fame. Pero el juguetito tiene algunos otros usos.

El verdadero motivo para escribir este articulo es debido a mi reavivado interés en la visión estéreo desde hace dos años, pues siempre me ha intrigado el tema desde mi niñees, pero nunca me había puesto mucho a leer al respecto.






miércoles, 29 de abril de 2009

El origen de la influenza porcina.
Bookmark and Share


Al parecer aun no se sabe a ciencia cierta el origen origen de la influencia porcina, pero la foto de arriba talvez no ayude a resolver nuestras dudas, sin embargo consultando por internet me he encontrar un vídeo en Youtube en el que se comenta que este virus difícilmente se pudo crear en la naturaleza, pues considerando que el virus esta compuesto por dos tipos de influenza humano, uno aviar y otro porcino, lo más probable es que se haya producido en un laboratorio, pero también hay otra teoría como un brote de gripa que surgió en Perote en el estado de Veracruz donde se encuentra las granjas Carroll.

En México se vive una verdadera Psicosis sobre el tema de la epidemia, el lunes se suspendieron eventos publicos y clases en todos los niveles a nivel nacional, estamos viviendo un especie de cuarentena "voluntaria", si sales a la calle, la ciudad se encuentra prácticamente vacía y hoy me llego el rumor de que en la ciudad donde recido se cerraran negocios como Restaurantes, la única buena noticia es para los súper mercados, que han aumentado sus ventas en los últimos días.

Al menos sabemos que estaremos protegidos por los E.S.T.A.R.S.



martes, 28 de abril de 2009

OpenCV + Java + Linux
Bookmark and Share


For the last couple of weeks I was trying to find a way to get images through my webcam using Java since I need to use the Real Time Java Specification (RTSJ) for a project at the University, My first option was the Java Media Framework (JMF) but after I tried it and not being able to detect any webcam that I had and founding that Sun hasn't work in it for 6 years, then I decided to look for other options, the first thing that came to my mind was the Java Native Interface (JNI) and V4L2, but after the frustration of understanding how to get an image out of my camera by using V4L2 I decided to search for OpenCV under Linux... and it was a brilliant idea, since I found that there were some Java binding already made, you can read more about them here and you will need to download the following files and i recomend you to use the sample files to test it.

I got the OpenCV library from the Ubuntu repository, but if you want to compile the last version of the library here are some instructions.

Then for some reason that I really don't understand you will need Processing, I downloaded both the compiled version and the source code.

Now you will need to copy the following files in the same folder:
  • core.jar
    You will find this file in processing compiled version in the following path processing-1.0.3/lib

  • processing directory
    It contains some source code from processing, I got it from the following path processing/core/src, rember this is in the source package.

  • OpenCV.jar libOpenCV.libjni libOpenCV.so
    You will find it in the following path OpenCV/library, remember this must go in the output directory where the JAR file is generated.

  • hypermedia directory
    It contains some source code that you will need, path OpenCV/source/java
I finaly added one of the source examples codes, then I created a new project with existing source code and the I compiled... everything should go fine, after that if you try to run the proyect from Netbeans you will get the following error:

!!! required library not found : no OpenCV in java.library.path Verify that the java.library.path property is correctly set and 'libcxcore.so', 'libcv.so', 'libcvaux.so', 'libml.so', and 'libhighgui.so' are placed (or linked) in one of your system shared libraries folder
Exception in thread "main" java.lang.UnsatisfiedLinkError: hypermedia.video.OpenCV.capture(III)V at hypermedia.video.OpenCV.capture(Native Method)


Then I tried to run it as follows java -Djava.library.path=/usr/lib -jar myfile.jar but it didn't work, so I went to the NetBeansProjects directory and look for the output JAR file, which usualy is located in the dist project subdirecory, there I created simbolic links to all the libraries that I needed, for example ln -s /usr/lib/libcxcore.so libcxcore.so, I cross my fingers run the above command with the terminal and IT WORKED!!!

NOTE: The next thing to do in order to be able to run the project from Netbeans is to copy the symbolic links and libOpenCV.so and libOpenCV.jnilib to the jre/lib/i386.