Generando fotogramas de vídeo en C con frei0r (y MLT) [Parte II - Generando filtros]

16 mayo, 2013 No comments

Ahora le toca el turno a la creación de filtros, y de paso presento algunas utilidades más para frei0r de mi cosecha (con alguna que otra función copiada de algún lado).

Esta vez, entre otras cosas, aunque habrá mucho código sin documentar por aquí, vamos a ver cómo podemos dar para cada canal de la imagen, la porción de rojo, verde y azul que queramos, sólo para practicar la creación de un filtro sencillo.… Leer artículo completo

Leer y procesar imágenes en C gracias a ImageMagick y su API MagickCore

9 mayo, 2013 No comments


El mundo de la imagen por ordenador me encanta, y llega el momento de aplicar ciertos efectos desde código, y evitarnos tener que ejecutar un programa externo, gastando así más memoria y tiempo. Pero por otro lado, en ocasiones algunos algoritmos sobre las imágenes son demasiado complejos y no tenemos tiempo para investigar cómo hacer el algoritmo, buscar especificaciones de efectos que suelen traer todos los programas de edición de imágenes, pero que nos pueden hacer perder varios días de trabajo de investigación.… Leer artículo completo

Categories: C/C++, Imagen Digital Tags:

Backup de usuarios en MySQL

7 mayo, 2013 No comments

Cuando hacemos un dump de una base de datos MySQL, se suelen ignorar las bases de datos test, mysql e information schema, es una buena práctica, entre otras cosas porque si sobreescribimos la tabla mysql, podemos tener problemas en el futuro sobre todo si hay algún cambio menor (o mayor) de versión.

Al final, la única información que nos interesa salvar de la base de datos mysql son los usuarios del sistema, con sus respectivas claves y permisos, que normalmente si tenemos varias aplicaciones corriendo sobre el mismo sistema de bases de datos, tendremos varios usuarios y no querremos perderlos.… Leer artículo completo

Recibir notificaciones de Amazon SNS y procesarlas automáticamente

2 mayo, 2013 No comments

Una gran herramienta que nos brinda Amazon, y que podemos combinar con otros servicios, es SNS (Simple Notification Service), básicamente este servicio se encarga de enviarnos una notificación cuando ocurre un evento dentro de los servicios contratados.
Un ejemplo muy sencillo para manejar esto, es la gestión de quejas y rebotes de los envíos de correo de Amazon SES (Simple Email Service). Cuando se envía un e-mail con este servicio de correo, es posible monitorizar los mensajes que no han llegado (y por tanto se ha recibido un e-mail de notificación), o por ejemplo, los e-mails cuyos destinatarios han establecido como correo basura y han notificado al servidor de origen.… Leer artículo completo

Logging en MySQL

24 abril, 2013 No comments

Muchas veces, cuando se desarrollan procedimientos almacenados (stored procedures) más o menos complejos, podemos dar con errores que nos pueden hacer perder mucho tiempo, y a veces la solución es visualizar el valor de una variable en un punto determinado del código.

Aquí va una pequeña ayuda, es un código muy sencillo que podemos insertar en nuestra base de datos y nos permitirá escribir en una tabla lo que va pasando.… Leer artículo completo

Exportar datos de MySQL a un fichero CSV o tabulado

22 abril, 2013 No comments


En múltiples ocasiones, si sueles manejar bases de datos MySQL, te interesará exportar esa información para que sea interpretada por otro programa o una persona, y no queramos que dicha persona tenga acceso completo a nuestra base de datos, o que le queramos facilitar el trabajo de alguna forma.

Este post, puede acompañar perfectamente a Introduciendo datos al servidor MySQL desde CSV con ejemplos.

Es importante decir, que el archivo se generará en el equipo servidor, y no en el equipo desde el que accedemos, por lo que para recuperar los datos, es conveniente tener acceso al servidor, puede que por estar en el mismo ordenador (localhost) o porque tengamos acceso por SSH, FTP, etc.… Leer artículo completo

Enlazado dinámico en C++ (dynamic linking) IV: Permitir plug-ins en nuestra aplicación

21 marzo, 2013 No comments

Un ejemplo práctico de uso del enlazado dinámico es la posibilidad de crear plug-ins para nuestros programas. Estos plug-ins nos permitirán aumentar las funcionalidades de nuestro programa sin necesidad de recompilarlo, utilizando el código de añadidos binarios. Para poder “hablar” con los demás binarios, es necesario haber establecido antes unas normas para ese diálogo.

Intentaré poner un ejemplo más o menos completo, pero sencillo, y se podrá descargar el código fuente al final del artículo (serán bastantes archivos).… Leer artículo completo

Enlazado dinámico en C++ (dynamic linking) III: Carga dinámica de objetos

14 marzo, 2013 No comments

Hasta ahora, en varios artículos referentes a este tema: Introducción a dynamic linking, Carga dinámica de bibliotecas, hemos visto como, en lenguaje C, podemos escribir bibliotecas de funciones y, sin necesidad de conocer su código fuente, ejecutar funciones encerradas dentro de esas bibliotecas en nuestros proyectos, así como cargar dicho código al vuelo.

Pero todo se complica un poco cuando queremos hacer lo mismo con C++, y en concreto, cuando estamos exportando clases completas, ya que de primeras necesitamos una forma de traernos algo parecido a un tipo, el nombre de la clase, y con dlopen() y dlsym(), nos podemos traer sólo una referencia de memoria, por lo que junto con la clase que programemos en C++ tendremos que incluir una función que llame al constructor.… Leer artículo completo

Enlazado dinámico en C (dynamic linking) II: Carga dinámica de shared objects

7 marzo, 2013 No comments

La semana pasada vimos una introducción y cómo podíamos hacer una carga estática de bibliotecas dinámicas o shared objects.

Hoy dedicaré el post a la carga dinámica, esto es, no hace falta que el objeto exista para poder compilar el programa principal, y el programa principal, no tiene por qué saber que lo va a utilizar hasta el último momento en que lo esté utilizando. Pueden utilizarse para extender la funcionalidad de nuestra aplicación una vez esté construida, puede que por nosotros, o por otra persona.… Leer artículo completo

Enlazado dinámico en C (dynamic linking) I: Introducción

1 marzo, 2013 No comments

Algo que nos abre un mundo de posibilidades a la hora de realizar nuestros programas es la forma de enlazar los archivos objeto en nuestro binario definitivo. Ésta puede ser dinámica o estática.

La forma estática es la que se utiliza desde el primer momento que se empieza a programar: hemos creado varios archivos .c y queremos utilizar funciones de otro archivo dentro del archivo principal, con el objetivo de dividir el código en partes y no trabajar desde el mismo archivo.… Leer artículo completo

Categories: C/C++ Tags:
Top
kakapedo