domingo, 10 de julio de 2011

Taller. Especificación Técnica

Para esta entrada pondré las especificaciones tecnicas restantes.

Principalmente lo que me falta es que el codigo lo tenga orientado a objetos, ya que este se encuentra en su mitad orientado a objetos (La lectura de la base de datos y su impresion) y la otra esta desarrollado como iva saliendo al paso de este (La lectura del formulario y el ingreso de estos a la base de datos).


Otra de las cosas, es agregar comentarios para que estas se puedan poner en las imagenes.

Una forma de visualizacion (meterle al css y html), para que tenga un buen aspecto y facil de visualizar.

Eliminar imagenes, en si esta funcion me gustaria que no borrase las imagenes, sino que las ocultase o las guardase en otra direccion, para tener historial.

Poder editar las imagenes o los campos que se pusieron de informacion acerca de ésta.

Limitar lo max. que se puede cargar de una imagen, al igual especificar que solo se puedan subir imagenes, ya que uno puede subir cualquier tipo de archivo.

Poner un tipo de clasificacion de imagenes, junto con puntaciones de estas.

Terminar de hacer la funcion resize, haciendo de que la imagen subida tenga un thumbail, para que esta sea la que se visualize y no consuma tanta banda ancha, ya al momento de querer ver la imagen, te la muestre con un tamaño mas adecuado

Aqui dejo la pag. donde tengo mi programa y mientras tenga avances aqui los estaran viendo

viernes, 8 de julio de 2011

Taller. Demostracion de Avance parcial

Hola que tal otra vez, para esta entrada, lo que pondré, será mi avance parcial de lo que tengo del programa.

Como verán en la siguente imagen, ya tengo el formulario en la cual esta escoger el archivo, el nombre del que lo sube, un titulo y una descripcion.


Al momento de darle cargar, la imagen se carga con sus datos, todo esto lo guardamos en una tabla que creamos en mysql. Para ver las imagenes nos vamos al link donde dice ver iamgenes subidas.


Y listo la imagen que se selecciono y que se lleno, ya te la muestra, con su información.

Acontinuacion les pongo una parte del código en este link.

Para ver el programa esta en la siguiente pag.:

abimage.comli.com

Taller. Esqueleto del Software

Aqui pondre el esqueleto de mi programa. En la cual tengoo las clases importantes, creo que conforme vaya avanzando iran cambiando o agregarse mas clases, pero por lo pronto seran todas.
En esta primera clase lo que tengo es lo principal que se hara, en el formulario, que es dar de alta la imagen con su informacion principal.


class Imagen{
var $nombre;
var $imagen; //checar bien el tipo de variable
var $info;
var $fecha;

function set_name($data){
$this->nombre = $data;
}

function get_name($data){
return $this->nombre;
}

function alta(){
}

function baja(){
}

function editar(){
}

}

//objeto
$ralph = new Imagen;
$ralph->set_name("Ralph");

echo "El nombre es ".$ralph->get_name().".";


En esta segunda parte lo que hara sera la conecion a la bd y la forma de dar de altas y bajas.


private localhost;
private usuario;
private pass;
private conection;

class conection(){
function mysql(){

}
}

class db{

function insertar(){
}

function extraer(){
}
}


Ya por ultimo tendre una clase llamada visual, en la cual, en esta clase lo que busco es que tenga un estilo de canvas, pero este mas adelante lo veremos.


private img;
private size;

class visual{

function ver(){

}
}

jueves, 7 de julio de 2011

Taller. Selección e Instalación de Herramientas

Hola otra vez, para esta entrada lo que pondre son las herramientas a usar.

Como mi programa será dirigido a la web, el lenguaje a usar será php, html, mysql, css. Me apoyare con el editor de textos emacs.

Estas herramientas, en una entrada anterior, puse como instalarlas, asi que pondre aqui el enlace.

Para instalar emacs, basta con poner en la terminal:

Una vez teniendo las herramientas a usar, podremos empezar a programar algun ejemplo.

Para esto nos iremos a localhost. Localhost esta en /var/www/ y aqui creamos una carpeta donde tendremos nuestro ejemplo.

Para abrir emacs ponemos emacs -nw nombredelprograma.php
Una vez puesto esto, en la terminal se nos abrira emacs y podemos empezar a usarlo.

Codigo

nombre=$nom;                                                                                        
}
public function imprimir()
{
echo $this->nombre;
}
}

$per1=new Persona();
$per1->inicializar('Abraham');
$per1->imprimir(); ?>


Ahora para ver nuestro programa funcionando, abrimos nuestro navegador y ponemos la direccion donde tenermos nuestro programa


Y como podemos ver, ahi esta nuestro programa funcionando (hay que tomar en cuenta que cuando estamos programando en php, si tenemos un error en la sintaxis, nos aparecera un error en el servidor o simplemente no mostrara nada).

Ahora expliquemos un poco el codigo:

class Persona{
private $nombre;
public function inicializar($nom){
}
public function imprimir(){
}
}


Esta parte del codigo, tenemos declarada nuestra clase Persona, con su atributo nombre y sus metodos inicializar e imprimir.

$per1=new Persona();
$per1=inicializar('Abraham');
$per1=imprimir();


Esta parte del codigo lo que hace es inicializar nuestro constructor con $per1, diciendo que este sera nuestro objeto e ira a la clase persona, despues tomara el nombre que la guarda en la variable $nom que mas adelante explicaremos con los metodos y depsues la imprime.

public function inicializar($nom){
$this->nombre=$nom;
}
public function imprimir(){
echo $this->nombre;
}


Ya por ultimo, la funcion inicializar, como habiamos mencionado antes, tomara el valor que se le de, para guardarla en la variable nombre, una vez teniendo esto, la mandaremos imprimir.

miércoles, 6 de julio de 2011

  

import java.util.Scanner;

Taller. Programa a Realizar

Hola que tal otra vez compañeros, la entrada de ahora será para dar a conocer del programa a desarrollar en estos veranos.
El programa a desarrollar sera un programa, dirigido a la web para subir imagenes y visualizarlas (no, no quiero hacer facebook).
El motivo por el cual seleccione este programa, esque me esta llamando mucho la atención, lo que es el procesamiento de imagenes y pues en un futuro tener una herramienta que interactue con estas, aparte seria entretenido, tener otro lugar para subir imagenes y poner una descripcion acerca de éste, algo asi tipo periodisctico, que cada quien describa algo que vio o que le interese.

viernes, 1 de julio de 2011

Algoritmos computacionales -Imagen (Depixelizing Pixel Art )

Hola que tal, en esta entrada, pondré algo relacionado sobre algoritmo de imagenes.

El algoritmo a ver será Depixelizing Pixel Art (es algo asi como convertir una imagen de 8bits de bitmap a vectorial).

Escogí esto, ya que desde hace tiempo me viene llamando la atención sobre la manipulación de imagenes, como se procesan, sus tipos, bitmap/vectores, entre otros.


Primero veamos un poco de conceptos:
Imagen rasterizada: Esta es una estructura, como de una tipo matriz, la cual contiene una altura y una anchura, conteniendo la información para la representación de la imagen.



Imagen vectorial: Es el conjunto de vectores para dar una imagen, este funciona con lineas(los vectores) en las cuales se tiene 3 cosas: un punto de inicio, un punto final y la función matemática en la dibuja la linea.



¿Cual es la diferencia de estos dos?
Su diferencia principal es acerca del escalamiento o al momento de hacerle zoom a una imagen, ¿porque? al hacer esto en el bit map se empiezan a ver cuadros y en la vecorial no, entre mas zoom o mas escalamiento se le de a la imagen, esta seguira viendsose pura.

Ahora si, ya que dimos una breve introduccion hablaremos sobre el algoritmo.
Como se dijo en el principio, la función principal de esta es convertir o hacer la visualizacion de una imagen de 8 bits(es por ej. la que vemos en los juegos de arcade o lo de nintendo) a vectorial.




funcionamiento:
hay que tomar encuenta 4 casos:
1. Se toma en cuenta el pixel suficientemente diferente al de su entorno para conservarse.
2. Pixeles de ancho de 8 lineas y curvas conectadas, parecen conectadas a pequeña escala.
3. Configuraciones localmente ambigua, en la presencia de multiples colores
4. El efecto de escalon son de gran escala en comparación al tamaño de la imagen, haciendolo dificil distinguir entre caracteristicas y pixelizacion.

Video comparativo

...
Si no termino la entrada fue porque me qede dormido..

http://research.microsoft.com/en-us/um/people/kopf/pixelart/index.html
http://research.microsoft.com/en-us/um/people/kopf/pixelart/index.html