Español
Blog de Nibcode Solutions
 

Blog de Nibcode Solutions

El álgebra lineal y el procesamiento digital de imágenes. Parte IV. Editor de imágenes.

27-10-2016
|
Anibal
|
0
image-processing-IV.png

En este artículo, el último de esta serie, mostraremos una implementación en JavaScript que cubre toda la teoría vista en los tres artículos anteriores. También explicaremos cómo utilizar el objeto canvas de HTML5 para que puedas hacer tu propia implementación de los conceptos de procesamiento de imágenes.

El editor de imágenes usando JavaScript que se presenta en este artículo, permite aplicar filtros y realizar transformaciones a cualquier imagen que seleccione. Además, cuando se mueve el cursor sobre la imagen, se puede ver, debajo de la imagen, una matriz de 5x5 de los píxeles que rodean el píxel que se encuentra en la posición del cursor.

Al final del artículo se presentan códigos detallados en JavaScript explicando como se realizó el editor de imágenes, y como puedes utilizarlos en tus propios proyectos.

El álgebra lineal y el procesamiento digital de imágenes. Parte III. Transformaciones afines.

21-10-2016
|
Anibal
|
0
image-processing-III.png

En el procesamiento digital de imágenes existe un grupo de transformaciones que reciben las coordenadas de un píxel como entrada, y retornan las nuevas coordenadas donde el píxel debe ser colocado; de forma que, al computar estas trasformaciones para todos los píxeles de una imagen, se obtiene una nueva imagen.

Nos centraremos en un tipo de estas transformaciones, las transformaciones afines, las cuales preservan la colinealidad (puntos y líneas rectas, planos, etc.). Las transformaciones afines mapean puntos en nuevos puntos aplicando una combinación lineal de operaciones de traslación, rotación, escalado y transvección.

Revisaremos entonces todas estas operaciones básicas, pero antes de explicar cómo definirlas en términos matriciales, veamos como las imágenes pueden interpretarse geométricamente.

El álgebra lineal y el procesamiento digital de imágenes. Parte II. Filtros.

12-10-2016
|
Anibal
|
0
image-processing-II.png

En el artículo anterior explicamos como una imagen puede ser representada como una matriz de píxeles, donde cada píxel se expresa como un vector tridimensional, compuesto por la cantidad de rojo, verde y azul del color. En este artículo, vamos a dar algunos ejemplos sobre el uso del álgebra lineal en el procesamiento digital de imágenes.

Un tipo de procesamiento de imágenes son los llamados filtros. Entre los más utilizados se encuentran: el ajuste de brillo, contraste y colores, la conversión a escala de grises, la inversión de color (negativo), la corrección gamma, el desenfoque y la reducción de ruido.

Existen otros procedimientos en el tratamiento de la imágenes donde los pixeles cambian su posición dentro de la imagen, por ejemplo: la rotación, el volteo, el escalado, el sesgo y la traslación...

El álgebra lineal y el procesamiento digital de imágenes. Parte I.

23-09-2016
|
Anibal
|
0
image-processing-I.png

Cuando pensamos en el álgebra lineal, la primera idea que nos viene a la mente es un sistema de ecuaciones lineales que necesita ser resuelto, o su variante gráfica más sencilla, un plano cartesiano con dos rectas, para hallar el punto de intersección; pero lo que probablemente muchos no saben es que herramientas como Photoshop o librerías de funciones como OpenGL o DirectX hacen un amplio uso del álgebra lineal para muchas de sus funcionalidades.

En esta serie de artículos abordaremos algunos conceptos básicos de la aplicación del álgebra lineal en el Procesamiento de Imágenes. En el primer artículo nos centraremos en sus aplicaciones y cómo representar una imagen como una matriz, en el segundo y tercero vamos a exponer algunas de las operaciones con matrices en una imagen, y en el último mostraremos algunos ejemplos prácticos en JavaScript.

Usando operaciones matriciales para resolver el acertijo de Einstein. Parte II.

16-11-2015
|
Anibal
|
4
einstein-riddle-II.png

En la primera parte de este artículo formulamos el acertijo de Einstein en términos de matrices, y se presentaron tres operaciones con matrices que serán la base para un algoritmo que permita resolver el enigma. En esta parte vamos a estar hablando de este algoritmo, y una implementación en JavaScript que permitirá resolver este enigma y cualquier otro enigma similar...

Implementación JavaScript

Hay algunos lenguajes de programación como Prolog, diseñados para funcionar directamente con hechos lógicos, donde se pueden resolver problemas lógicos de una manera natural. Mediante el uso de la formulación matricial podemos utilizar cualquier lenguaje de programación para resolver este tipo de acertijos. Aquí proporcionamos la implementación, en JavaScript, del objeto matriz con los tres operadores básicos utilizados para resolver los acertijos. La selección de JavaScript no es arbitraria, ya que el mismo permite mostrar la eficacia del algoritmo en este mismo post.

© Nibcode Solutions. Todos los derechos reservados.