juaninf - notas de psudoprogramador

Sunday, February 24, 2013

Solución para String como Nombre de Clase en C++ [code]

El problema es como usar una variable de tipo string (char*)  de tal forma que podamos crear instancias de una clase que tenga el nombre de la variable string. Aqui les presento una solución:

Supongamos dos clases Gauss y Patterson:

 
 class Gauss {
 public:
 Gauss() { std::cout << "Object of class Gauss created\n"; }
 static void * create() { return (void*) new Gauss; }
 }
 class Patterson {
 public:
 Patterson() { std::cout << "Object of class Patterson created\n"; }
 static void * create() { return (void*) new Patterson; }
}
Definiremos un nuevo tipo de dato, vacío.
typedef void * (*ptr)();
Ahora el ejemplo
int main() {
std::map<std::string, fptr> fpmap;
//Insertamos los pares nombre de clase y tipo de dato de la clase
fpmap.insert(std::make_pair(std::string("Gaus"), Gauss::create));
fpmap.insert(std::make_pair(std::string("Patterson"), Patterson::create));
//Obteniendo un objeto del Tipo Patterson
void * obj = fpmap["Patterson"]();
}
¿Te ha gustado esta entrada? Entonces échame un cable compartiéndola en Twitter. Gracias!

Sunday, February 17, 2013

Configuración de ECUT en Eclipse + Tutorial

El proyecto ECUT (Eclipse C++ Unit Testing) integra CppUnit dentro de Eclipse C/C++. El objetivo de ECUT es proveer un conjunto de bibliotecas que son usadas en programación para hacer pruebas unitarias en alguna aplicación software hecha en C++. Este conjunto de bibliotecas realiza una tarea similar a la que hace JUnit para aplicaciones hechas en Java.


En este post indicaré los pasos necesarios para configurar ECUT en Eclipse Indigo, bajo el sistema operativo Ubuntu 12.04. Así mismo se presenta un video con un tutorial acerca de este framework.

Saturday, February 02, 2013

Teoria de Filtrado y Procesamiento de Imágenes

¿Como desarrollar una teoria para filtrado linear (filtros pasa-alta, pasa-baixa e pasa-banda) usando la transformada discreta de Fourier?
A continuación desarrollaré una teoría que responde a esta pregunta fundamentada en [1]. Para desarrollar la teoría necesitamos entender el significado de alta y baja frecuencia en imágenes. Necesitamos entender, también, que son máscaras para hacer convolución, cuantos tipos de convolución se tienen, así como, cuando usamos uno u otro tipo de convolución.

Alta Frecuencia en imágenes:   Se dice que una imagen presenta alta frecuencia, en el dominio de Fourier, si tiene valores grandes en los componentes de alta frecuencia, es decir, los datos están cambiando rápidamente en una escala de distancia corta, por ejemplo una página de texto. Otro ejemplo es el ruido, el cual es generalmente considerado como alta frecuencia, así un filtrado de paso bajo puede ser utilizado para la reducción del ruido.

Baja Frecuencia en imágenes:  Se dice que una imagen tiene baja frecuencia si sus valores son pequeños en los componentes de baja frecuencia, es decir, la imagen contiene objetos que ocupan gran parte de ella sin cambiar bruscamente de intensidad. Por ejemplo un único objeto bastante simple, que ocupa la mayor parte de la imagen.

Related Posts Plugin for WordPress, Blogger...