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

Comprimir imagen con Python

Hoy vamos a aprender a comprimir imágenes usando Python y Pillow (Python Imaging Library o PIL). Para comprimir una imagen o foto con Python podemos reducir su calidad y/o resolución. La mayoría de ocasiones solo es necesario reducir la calidad de la imagen con Python, sin modificar su resolución (ancho y alto en pixeles) aunque también se puede cambiar esa medida. Veamos cómo comprimir una imagen con Python y PIL. ...

marzo 19, 2024 · 3 min · 493 palabras · Parzibyte

Agregar texto a imagen con Golang

En este tutorial de trabajo con imágenes en Golang vamos a ver cómo escribir texto sobre una imagen, cambiado la alineación, tamaño, espaciado de línea e incluso cargando una fuente TTF. Veamos entonces cómo dibujar texto sobre una imagen con Golang. El ejemplo que te mostraré crea una imagen en blanco y dibuja el texto en la misma, ajustando el texto como sea necesario. ...

enero 24, 2024 · 4 min · 651 palabras · Parzibyte

Métodos para imprimir imágenes en impresoras térmicas

Hoy vamos a ver algunos algoritmos para generar comandos ESC POS para imprimir imágenes en una impresora térmica. Hay varios enfoques para imprimir, y algunos de ellos solo son soportados en ciertos modelos de impresoras, además de que en algunos casos la alineación de imágenes no es respetada al usar cierto método. Veamos cuáles son los algoritmos para imprimir imágenes en una impresora térmica. Nota: aquí te voy a mostrar los algoritmos para implementarlos en lenguajes de programación. Si tú solo quieres imprimir imágenes en tu impresora térmica sin detalles técnicos puedes usar mi diseñador web. ...

enero 18, 2024 · 3 min · 537 palabras · Parzibyte

Raster bit image - Algoritmo ESC POS (GS v 0)

El día de hoy voy a explicar el algoritmo Raster bit image, mismo que es un método para convertir una imagen en bytes entendibles para el protocolo ESC POS de las impresoras térmicas. Además de este algoritmo existen el Bit image column format, NV Graphics y otros de los que todavía no tengo conocimiento. Estos 3 son los algoritmos más comunes a la hora de imprimir imágenes en una impresora térmica, si los conoces entonces no tendrás problemas al momento de imprimir imágenes en una impresora térmica. Bien, veamos este último algoritmo que es realmente sencillo después de haber revisado los otros 2. Su comando es GS v 0 y recibe los bytes de la imagen en formato de raster. Nota importante: recomiendo encarecidamente revisar los otros dos algoritmos, pues si bien todos son distintos, revisarlos te ayudará a entender la conversión de números, anchos, altos, bytes, LSB, MSB, etcétera. ...

enero 18, 2024 · 7 min · 1460 palabras · Parzibyte

Algoritmo ESC POS: NV Graphics - Impresora térmica

Hoy toca revisar otro algoritmo para imprimir imágenes en una impresora térmica usando el protocolo ESC POS. Existen varias maneras de convertir una imagen a bytes ESC POS para imprimirla, y en este post te voy a explicar el algoritmo NV Graphics cuyo comando es GS ( L. Se supone que la impresión de NV Graphics es la recomendada, ya que es soportada en las impresoras más recientes e incluso permite especificar distintos tonos. Al usar este método de impresión de imágenes podemos enviar los bytes en formato rasterizado o como columnas; yo prefiero enviarlos rasterizados pues es más sencillo. Nota: algunas impresoras antiguas no soportan este comando; en su lugar recomiendo usar bit image column format. ...

enero 16, 2024 · 11 min · 2165 palabras · Parzibyte

Algoritmo imagen: Bit image column format ESC POS

En este post te voy a explicar cómo funciona el comando ESC POS para imprimir una imagen usando el Bit Image column format. No importa el lenguaje de programación, te voy a enseñar cómo enviar los datos a partir de los pixeles de una imagen, ya que yo buscaba un ejemplo simple y me parece que no lo encontré. Voy a explicarte el algoritmo para imprimir una imagen en una impresora térmica y al final te mostraré un ejemplo con una imagen real. ...

enero 4, 2024 · 8 min · 1596 palabras · Parzibyte

Rotar imagen en navegador web con JavaScript y canvas

En este artículo te voy a enseñar a rotar una imagen con HTML y JavaScript a través de canvas, de manera que podrás girar una imagen los grados que tú quieras, es decir, rotarla 90, 180, 270 o cualquier cantidad. Veremos cómo cargar una imagen, pintarla en un canvas, agregarle rotación y después hacer cosas como descargar esa imagen o enviarla al backend que puede ser con Node, C#, PHP, etcétera. ...

marzo 6, 2023 · 5 min · 957 palabras · Parzibyte

Usando BLE en impresora térmica Bluetooth

En este post te voy a relatar mi intento de comunicarme con una impresora térmica Bluetooth usando BLE o Bluetooth Low Energy. Al final ya no lo usé y utilicé en su lugar el Bluetooth clásico, Bluetooth serial o RFCOMM, pero vengo a explicarte las razones. ...

octubre 14, 2022 · 2 min · 407 palabras · Parzibyte