martes, 26 de julio de 2011

Instalando OpenCV en debian Squezze

Para comenzar se agregan los repositorios de red, se abre el archivo mediante el comando:
gedit /etc/apt/sources.list


y se agregan las siguientes lineas, se coloca el caracter # en las otras lineas para que sean ignoradas,


## Debian - stable
deb http://ftp.us.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.us.debian.org/debian/ stable main contrib non-free
## Actualizaciones de seguridad
deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free


posteriormente actualizamos la base de datos de los paquetes mediante

apt-get update

una vez hecha la actualización se inicia la instalación de los paquetes requeridos

apt-get install build-essential
apt-get install cmake
apt-get install pkg-config
apt-get install libpng12-0 libpng12-dev libpng++-dev libpng3
apt-get install libpnglite-dev libpngwriter0-dev libpngwriter0c2
apt-get install zlib1g-dbg zlib1g zlib1g-dev
apt-get install libjasper-dev libjasper-runtime libjasper1
apt-get install pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools
apt-get install libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-progs
apt-get install ffmpeg libavcodec-dev libavcodec52 libavformat52 libavformat-dev
apt-get install libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev
apt-get install libxine1-ffmpeg libxine-dev libxine1-bin
apt-get install libunicap2 libunicap2-dev
apt-get install libdc1394-22-dev libdc1394-22 libdc1394-utils
apt-get install swig
apt-get install libv4l-0 libv4l-dev
apt-get install python-numpy
apt-get install qtcreator

el último paquete (qtcreator) se instala para poder realizar los ejemplos del libro
"OpenCV 2 Computer Vision Application Programming Cookbook"

se crea una carpeta en la cual se descargara opencv
mkdir opencv
cd opencv

y se ejecuta el siguiente codigo, el cual realizara la descarga, este paso toma su tiempo.
svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk

al terminar debe devolver el numero de la revision obtenida(para este caso)
Revisión obtenida: 2281

una vez descargada tenemos una carpeta llamada trunk que contiene dos carpetas llamadas opencv y opencv_extra, es necesario ubicarse en la carpeta llamada opencv mediante
cd /trunk/opencv
en donde se creará otra carpeta que contendrá la compilación
mkdir Release
y nuevamente se ingresa a ella
cd Release
acto seguido se realizara la compilacion mediante del comado cmake;

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=ON ..

el resultado sera algo similar a esto aunque variara de acuerdo a cada caso dependiendo de librerias y/o hardware instalado

Video I/O:
-- DC1394 1.x:
-- DC1394 2.x: 1
-- FFMPEG: 0
-- codec: 1
-- format: 1
-- util: 1
-- swscale: 0
-- gentoo-style: 1
-- GStreamer: 0
-- UniCap:
-- V4L/V4L2: Using libv4l
-- Xine: 1
--
Interfaces:
-- Old Python: 0
-- Python: ON
-- Use IPP: NO
-- Build Documentation 0
--
-- Install path: /usr/local
--
-- cvconfig.h is in: /home/usuario/opencv/trunk/opencv/Release
-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done


posteriormente se ejecutan los siguientes comandos

make
make install


compilar los ejemplos
root@recolector:/home/usuario/opencv/trunk/opencv/samples/c# sh build_all.sh

configuracion del path
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH


En caso de necesitar los drivers de la camara del ps3 se pueden descargar de aqui:
http://kaswy.free.fr/?q=node/38#ps3

domingo, 17 de agosto de 2008

Trabajando con Procesos

Que es un proceso
Un proceso es, en resumen, un programa en ejecución.Todos los comandos ejecutados acaban de una forma u otra, por generar un proceso que realiza la tarea. La shell que usamos para interactuar con el sistema también es un proceso. De hecho, la shell es un buen ejemplo para entender las relaciones de parentesco entre procesos.

En caso de no ser un comando interno, la shell ejecuta el comando necesario para llevar a cabo la tarea, invocando un nuevo proceso. Este nuevo proceso se le conoce como proceso hijo (en relación a nuestra shell) y la propia shell es el proceso padre (de ese proceso hijo).

Cuando el proceso ha acabado de realizar su tarea, devuelve los resultados al proceso padre y finaliza su ejecución. El proceso hijo puede necesitar invocar otro proceso donde delegar parte de
la tarea, convirtiéndose a su vez, en el proceso padre del proceso recién invocado. En los sistemas
multitarea como GNU/Linux, los procesos pueden llegar a desarrollar auténticos árboles genealógicos, ya que los procesos pueden se padres e hijos y además, varios procesos pueden ser
hijos del mismo proceso padre a la vez.

Los demonios
De los diferentes procesos que pueden estar ejecutándose en un sistema GNU/Linux, esto es, procesos invocados por el usuario, procesos invocados por otros usuarios y procesos invocados por el sistema operativo, los últimos son los más especiales y se les conoce como demonios (daemons).
Los demonios son procesos que el sistema operativo invoca para proporcionar servicios. Una característica de los demonios es que no suelen interactuar mucho. Proporcionan la funcionalidad para la que están programados de manera silenciosa, al menos en cierta forma, puesto que la gran mayoría utilizan ficheros de log para registrar sus transacciones. Entre los demonios más comunes están los de impresión, los de correo, los de periodicidad de tareas y monitorización. Pero hay muchos más.

Trabajando con ps
El comando ps da información sobre los procesos corriendo sobre el sistema. Invocado de la manera más sencilla:

$ ps

Devuelve un listado con los procesos que se lancen con el usuario actual y que aún se están ejecutando. En la última línea aparecerá el proceso que representa a ps, ya que es el último proceso lanzado.

PID TTY TIME CMD
4321 pts/2 00:00:00 bash
4356 pts/2 00:00:00 ps

Echando un vistazo al resultado:
  • La primera columna, marcada como PID, representa el identificador de proceso (Process ID, PID). Este identificador de proceso se asigna desde cero hasta un límite marcado por el propio sistema operativo. Cuando el identificador llega a ese límite, vuelven a asignarse los identificadores libres empezando otra vez desde cero.
  • La segunda columna indica la terminal asociada al proceso. Hay procesos que no tienen asignada terminal (demonios...), estos aparecen marcados con un signo de interrogación (?) en esta columna.
  • La tercera columna indica el porcentaje de tiempo de procesador que el proceso está usando. Normalmente, los procesos ejecutan sus tareas muy rápidamente, durante intervalos cortos. Luego se mantienen a la espera. Un proceso que muestre lecturas altas en esta columna puede repercutir en el rendimiento del resto del sistema.
  • La cuarta columna es el nombre del proceso (el nombre del comando). La primera línea es siempre la shell sobre la que se ejecutan los procesos. A esta shell (de hecho al primer proceso del usuario) se le llama líder de sesión (session leader).

A ps se le llama frecuentemente de las siguientes formas:
$ ps -a
Devuelve el listado de todos los procesos sin incluir al líder de sesión ni los procesos sin terminal
asociada.
$ ps -e
Devuelve el listado de todos los procesos. La opción -e es sinónimo de la opción -A.
$ ps -l
Devuelve un listado extendido. Con información sobre UID's (identificadores de usuario o User
ID's, marcado como UID), los PID's del proceso padre (marcado como PPID), información sobre si
el proceso entra en las expectativas de planificación de procesos del kernel (marcado como C), o la fecha de inicio del proceso (marcado como TIME). Hay que destacar que en este formato, el
nombre del proceso se sustituye por la cadena entera entrada con la que se lanzó el proceso, con
parámetros, opciones y argumentos (marcado como CMD).

Por ultimo
$ ps -u root
Devolverá todos los procesos que ha lanzado el usuario especificado tras el parámetro -u (en el ejemplo debe sacar información sobre los procesos invocados por root o por el sistema).

pstree y top
Existen dos comandos relacionados con el comando ps que ofrecen una vista de los procesos ligeramente diferente a como lo hace ps.
El primero de ellos es pstree, que ofrece una visualización gráfica (aunque en modo texto) de las relaciones que existen entre los procesos:



El segundo comando relacionado con ps es top. Éste comando, no sólo muestra los procesos actuales, sino que automáticamente se va actualizando para mostrar los cambios acontecidos. Adicionalmente, en la parte superior se muestra información sobre el número de días que ha estado la maquina en marcha, el número de usuarios, la memoria, estadísticas de la memoria de
intercambio, etc.
Mientras el comando top está en marcha, se pueden usar las siguientes teclas para interactuar con él:
h Ayuda
q Salir
s Cambia el tiempo entre actualizaciones (por defecto, 5 segundos)
espacio Actualizar ahora en lugar de esperar al siguiente intervalo de actualización
u Muestra un único usuario:


jueves, 31 de enero de 2008

Ndiswrapper en Debian Etch

La configuracion de mi tarjeta de red inalambrica BCM4318 la realice por medio del ndiswrapper de la siguiente forma:

Lo primero que vamos a hacer es eliminar el paquete BCM43xx

#modprobe -r bcm43xx

Despues procedemos a eliminar las líneas que hagan mención a bcm43xx en estos dos archivos: "/lib/modules/version_kernel/modules.alias" y "/lib/modules/version_kernel/modules.pcimap" en ambos casos encontraremos varias líneas que están juntas y que hacen referencia al modulo bcm43xx y que procederemos a borrar y a guardar cambios.

Para que el bcm43xx no vuelva a instalarse tras cada actualización del kernel, se ha de realizar lo siguiente:
ir al archivo "/etc/modprobe.d/blacklist" y agregar al final de la lista "blacklist bcm43xx"

Ahora vamos a instalar los paquetes necesarios con aptitude;

# aptitude install ndiswrapper ndiswrapper-utils wireless-tools ndiswrapper-source module-assistant

Luego de realizar la instalar debemos compilar el kernel

# m-a prepare
# m-a a-i ndiswrapper

Una vez realizada la compilacion del kernel realizamos la carga del modulo a memoria

#modprobe ndiswrapper

Si todo ha salido bien ahora debemos instalar en el ndiswrapper los drivers de la tarjeta de red para windows,

# ndiswrapper -i driver.inf

en donde driver.inf es la ruta completa del driver que queremos cargar, posteriormente se debe verificar que el driver haya sido cargado sin problemas

# ndiswrapper -l

domingo, 6 de enero de 2008

KDE 4 Conquista tu Escritorio



Bueno KDE 4 será lanzado el 17 - 19 de Enero de 2008.

Esta nueva versión incluye actualizaciones para los componentes principales de KDE, notablemente el Qt 4. Se espera que estas actualizaciones incrementen en un 20 o 30% el rendimiento, comparado con KDE 3.5.x. Contendrá una nueva API Multimedia, llamada Phonon, a un marco de dispositivo de integración llamado Solid y una nueva guía de estillo y un set de íconos llamado Oxygen. También incluirá a nuevo escritorio y una nueva herramienta de interfaz del panel de usuario, llamada Plasma, que permitirá widgets, de forma similar a SuperKaramba o el Dashboard de Apple.


KDE 4 funcionara también en plataformas MacOsX y Windows ver imagenes , de tal forma que se podran ejecutar programas de KDE tales como amarok y k3b.

domingo, 18 de noviembre de 2007

lunes, 24 de septiembre de 2007

Nuevo Aspecto de mi KDE

Bueno por fin despues de mucho intentar por aqui y por alla lo he logrado, le he colocado transparencias a mis ventanas, al final fue mas facil de lo que crei (jejeje), tan solo fue instalar un tema de kde llamado crystal, y luego seleccionarlo en el centro de control -> Aspectos y temas -> Decorador de ventanas, y luego mover aqui y alla, lo podes bajar de www.kde-look.org aqui os dejo el link.


konversation y konsole



Amarok


lunes, 6 de agosto de 2007

Gestor de arranque Grafico para Debian (Gfxboot)

Para mejorar un poco la apariencia de nuestra maquina una buena idea seria cambiar nuestro 'grub de texto' por un 'grub grafico' al estilo SUSE linux, lo primero que debemos hacer es descargar el paquete grub-gfxboot lo haremos con la siguiente linea de consola:
wget http://kanotix.com/debian/pool/main/g/grub-gfxboot/grub-gfxboot_0.97-11_i386.deb
a continuacion lo que haremos sera desinstalar nuestro grub e instalar el nuevo paquete:
aptitude remove grub
sudo dpkg -i grub-gfxboot_0.97-11_i386.deb
sudo grub-install /dev/hda3 (Advertencia -->Un error en este paso puede producir perdida de datos.)
En la ultima linea la debes cambiar por la particion en la cual se haya tu sistema, en caso que no sepas puedes averiguarlo con la siguiente linea:
cat /boot/grub/menu.lst | grep kopt=root=/dev/
lo cual debe darte una salida como la siguiente:
## e.g. kopt=root=/dev/hda1 ro
# kopt=root=/dev/hda3 ro <-- esta linea Hasta aqui ya hemos instalado nuestro grub-gfxboot, ahora nos queda por descargar tema para el grub (podes buscarlo asi gfxboot theme). yo he usado este: el archivo que hemos descargado debemos moverlo a la carpeta /boot/grub, lo cual haremos de la siguiente forma :
sudo cp 58283-message.dark_debian /boot/grub/
ahora nos resta editar el /boot/grub/menu.lst:
sudo kwrite /boot/grub/menu.lst
una vez estemos en dicho archivo debemos agregar la siguiente línea al inicio
gfxmenu /boot/grub/58283-message.dark_debian
y ahora lo guardamos y listo la proxima vez que reiniciemos vermos nuestro grub grafico...

(Si queremos cambiar la imagen aqui explican como.)


Robot's