Algoritmo Floyd-Steinberg Dithering con Golang

En este post de programación con Go te voy a enseñar cómo aplicar el algoritmo Floyd-Steinberg Dithering a cualquier imagen, de modo que puedas convertir una imagen de color completo a una en blanco y negro respetando la iluminación. Para que tengas una idea de lo que hace este algoritmo, mira la siguiente comparación donde aparece la imagen a color, en blanco y negro sin dithering y finalmente en blanco y negro pero con dithering: Como puedes ver, al aplicarle el dithering aparecen más detalles en la imagen, dando la ilusión de iluminación. De hecho pareciera que está en escala de grises, pero no, en este caso el dithering solo convierte la imagen a blanco y negro, nada más. Veamos entonces cómo implementar este algoritmo Floyd-Steinberg Dithering con Golang a cualquier imagen ya sea PNG o JPG. ...

julio 28, 2024 · 9 min · 1737 palabras · Parzibyte

Esconder información en imágenes con JavaScript y Esteganografía

Siguiendo con los tutoriales de esteganografía para ocultar información en una foto sin que el ojo humano lo pueda notar vamos a ver cómo aplicar dicha técnica con JavaScript en el lado del cliente. Con el tutorial de hoy vas a aprender a usar la Esteganografía en imágenes con JS desde el navegador web sin necesidad de instalar nada. Serás capaz de ocultar cualquier mensaje secreto en la imagen sin que se vea alterada. Si combinas lo expuesto en este post con el artículo de encriptación de información en JavaScript vas a poder encriptar y esconder mensajes usando Esteganografía. Bonus: de hecho la misma imagen que acompaña este post tiene un mensaje oculto. Descarga la imagen y lee su contenido: Esconder-informacion-en-imagen-de-JavaScript-con-esteganografia.png Puedes acceder a la demostración ya mismo en el siguiente enlace sin salir de tu navegador. Prueba seleccionando una imagen y ocultando un mensaje, después regresa a este post para saber cómo fue programado: https://parzibyte.github.io/ejemplos-javascript/esteganografia/ ...

junio 6, 2024 · 6 min · 1231 palabras · Parzibyte

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del lado del cliente para conocer los valores RGBA o red, green, blue y alpha (rojo, verde, azul, nivel alfa) sin necesidad de algún servidor. A lo largo de este artículo te voy a enseñar cómo recorrer los pixeles de una imagen con JavaScript del lado del cliente usando OffscreenCanvas y getImageData para leer los pixeles de una imagen desde el client-side. Prueba la demostración ya mismo en el siguiente enlace. Asegúrate de abrir la consola de depuración para que puedas apreciar cómo se imprime el RGBA de cada pixel de la imagen seleccionada: https://parzibyte.github.io/ejemplos-javascript/pixeles-imagen/ El ejemplo que te mostraré va a leer cada pixel de la imagen a partir de un input de tipo file, pero como siempre te digo: la imagen puede venir de cualquier lugar. Leer los pixeles de la imagen con JS sirve para esconder texto en una imagen con Esteganografía, por poner un ejemplo. ...

abril 24, 2024 · 4 min · 835 palabras · Parzibyte

Dart: convertir imagen a blanco y negro

En este corto post de programación con Dart te mostraré cómo convertir una imagen (sin importar si es PNG o JPG) a blanco y negro, manteniendo los niveles para que la imagen se siga viendo bien incluso si solo está en blanco y negro. El código está escrito en el lenguaje de programación Dart y puede ser usado más tarde en Flutter. De hecho eso haré yo, pues ando porteando mi plugin de impresoras térmicas para Android. ...

octubre 12, 2022 · 3 min · 514 palabras · Parzibyte

Aplicar filtros a imagen con Python

En este artículo te mostraré cómo manipular imágenes con Python, aplicarle algunos filtros y transformarlas. Lo que te enseñaré será: Aplicar filtro de escala de grises y sepia Voltear una imagen horizontalmente, como si fuera reflejada en un espejo Desenfocar una imagen usando el desenfoque de caja Todo esto con Python, escribiendo los algoritmos manualmente sin depender de una librería. Eso sí, para leer la imagen como matriz vamos a usar imageio. Ya que andamos por aquí te recuerdo que también tengo un post en donde expliqué cómo ocultar texto en imágenes. ...

diciembre 17, 2021 · 2 min · 316 palabras · Parzibyte

Desenfoque de caja (difuminado) con Python

En el artículo de hoy te voy a enseñar a difuminar una imagen aplicando el desenfoque de caja con Python. Vamos a leer la imagen como una matriz e ir modificando cada pixel. El desenfoque de caja se logra tomando los pixeles vecinos del pixel en cuestión, tomando los RGB de cada uno y promediándolos. Con “pixeles vecinos” me refiero al pixel que está arriba, abajo, a la derecha, a la izquierda, y en las 4 diagonales posibles. Al final podremos implementar el desenfoque de caja o box blur en Python manualmente sin usar librerías. ...

diciembre 17, 2021 · 7 min · 1357 palabras · Parzibyte

Filtro de sepia a imagen con Python

Hoy te enseñaré a aplicar el filtro de sepia a una imagen utilizando programación y manipulación a nivel de pixeles en una imagen usando Python. No vamos a usar librerías para la transformación, vamos a leer cada nivel de color de cada pixel y transformarlo para tener un filtro sepia. Todo esto lo haremos recorriendo la matriz de pixeles; al final podremos convertir una imagen a modo sepia con Python. ...

diciembre 16, 2021 · 3 min · 639 palabras · Parzibyte

Python: aplicar escala de grises a imagen

Hoy vamos a ver cómo convertir una imagen a escala de grises usando el lenguaje de programación Python. Básicamente vamos a tomar una imagen a color, obtener sus pixeles y modificarlos a mano (sin librerías) para aplicar la escala de grises. Finalmente vamos a guardar la imagen ya procesada. ...

diciembre 16, 2021 · 3 min · 564 palabras · Parzibyte

Desarmar teclado mecánico HyperX Alloy FPS RGB

Hace algunos días mi teclado empezó a fallar en ciertas teclas así que decidí abrirlo para limpiarlo, ya que tenía muchísimo tiempo sin hacerlo, además de que había derramado algunos líquidos sobre el mismo. En este post te mostraré cómo puedes desarmar tu keyboard HyperX Alloy FPS RGB, el modelo que yo tengo dice lo siguiente en la tienda: Teclado Gamer Hyperx Alloy Fps Rgb Qwerty Cherry Mx Red Español Latinoamérica Color Negro Con Luz Roja. ...

octubre 14, 2021 · 2 min · 310 palabras · Parzibyte

PHP: convertir color hexadecimal a RGB

En este post de PHP te mostraré cómo convertir un color hexadecimal a su representación RGB, extrayendo los colores R, G y B que respectivamente son Rojo, Verde y Azul. Por ejemplo, convertir el hexadecimal #8bc34a en 139, 195, 74. Para ello vamos a usar PHP y la función sscanf. ...

noviembre 3, 2020 · 2 min · 238 palabras · Parzibyte