🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python by eniolw

View this thread on steempeak.com
· @eniolw · (edited)
$99.16
🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python
<center><img src="https://s15.postimg.cc/3x4ad6s7v/banner.png"></center>

<p>¡Saludos estimados steemians!</p>

<div class="text-justify"><p>A propósito del reciente auge de producción de imágenes animadas y logos en la comunidad #STEM-Espanol, de la cual formo parte, he considerado apropiado hacer esta publicación con ánimos de compartir algunas apreciaciones sobre este tipo de tecnología. Después de todo, las imágenes son parte clave de las publicaciones que desarrollamos, muchas veces articulando el <i>motif</i> de nuestro contenido. Aún lejos de nuestra plataforma favorita, las imágenes son un componente poderoso de comunicación en cualquier proyecto difundido a través de la red.</p></div>

<div class="text-justify"><p>En concreto, este ensayo tiene como propósito el planteamiento de nociones sobre formatos de archivos y formatos de imágenes para contribuir a dilucidar la terminología de esta temática, así como también el desarrollo didáctico de <i>snippets</i> en Python que envuelven técnicas para la generación de imágenes animadas, lo cual ulteriormente -me atrevo a asegurar- tendrá interesantes aplicaciones en proyectos futuros. De tal modo, el contenido del <i>post</i> podrá ser informativo para la comunidad en general y también de provecho para lectores más especializados en el mundo del software.</p></div>

<div class="text-justify"><p>Se cubrirá esto en dos secciones que aúnan soportes e imágenes respectivamente, cada uno de los cuales han sido realizados por mí persona  (parcial y/o totalmente) a menos que se haya indicado lo contrario. También incluiré una sección de referencias a las fuentes consultadas.</p></div>

<div class="text-justify"><p>Sin más, ¡espero sea de su agrado! Comencemos.</p></div>

<h2>🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python</h2>

<div class="pull-right"><p><br><i>Por Enio...</i></p></div>
<div>&#8291;</div>

<p><b><br>1. ARCHIVOS, FORMATOS, IMÁGENES Y MÁS...</b></p>

<div class="text-justify"><p>Los archivos y formatos de archivos son constructos básicos en el conocimiento informático que, junto a los  conceptos como <i>hardware</i>, <i>software</i> y otros, todo usuario de computadoras debería poseer. Después de todo, los archivos informáticos se usan a diario y a menudo se refieren a ellos por sus formatos, pero... ¿Se sabrán definir?, ¿se conocerán sus significados?, ¿es lo mismo un formato que una extensión?, ¿qué diferencias hay en decir “aplicar formato", “formatear", “exportar a formato X", etc.?</p></div>

<div class="text-justify"><p>En primer lugar, hay que partir del entendimiento de lo que es un "archivo". Al trabajar con todo tipo de computadoras normalmente va a ser necesario el almacenamiento de la información de manera permanente o prolongada para posteriormente permitir su recuperación y manipulación. Esta información es generada por la ejecución de programas de computadoras, siendo tratada como <b>un conjunto</b> y almacenada físicamente en algún medio o dispositivo de almacenamiento de datos, como discos duros o memorias USB. Esas unidades de información son los <b>archivos o ficheros informáticos</b>.</p></div>

<div class="text-justify"><p>Los archivos son una unidad, un conjunto, un todo, esto es, son indivisibles. Pueden ser divididos en partes, pero por software especializados que pueden volver a integrar al todo desde las partes para poder hacer al archivo usable. Ejemplos de ficheros no son difíciles de conseguir, contándose a aquellos que contienen los documentos, presentaciones y hojas de cálculo; archivos que contienen imágenes, música o vídeos; archivos que poseen resultados de aplicaciones de uso científico, entre otros. </p></div>

<div class="text-justify"><p>Estos archivos son visualizados y hechos accesibles para el usuario principalmente a través de programas que “exploran" o “navegan" a través del sistema de archivos. Ejemplos de estas aplicaciones son el así llamado “explorador de archivos" de Windows, el programa Nautilus del escritorio de varias distribuciones GNU/Linux, ES File Explorer de Android, entre otros.</p></div>

<div class="text-justify"><p>Los archivos poseen propiedades como <b>tamaño</b> y <b>formato</b>. El primero, también conocido como “peso", se refiere a la cantidad de datos medida en <i>bytes</i> que ocupa el archivo. El <i>byte</i> es una unidad de información básica y también una unidad magnitud (como el metro) que tiene su escala, siendo los <i>kilobytes</i>, <i>megabytes</i> y <i>gigabytes</i> algunas de las unidades más comunes de esa escala.

<div class="text-justify"><p>Con respecto a la segunda propiedad, vale hacer la salvedad de que en el mundo informático, la palabra “formato" es polisémica. Algunos de sus significados incluyen:</p></div>

<div class="text-justify"><p><b>Formato de disco:</b> referido a los discos duros o cualquier otro dispositivo físico de almacenamiento de datos (como memorias USB), y de allí viene lo de “formatear el disco", “formatear el <i>pen drive</i>". Este formato se refiere a ciertas operaciones físicas y lógicas que preparan a una unidad de almacenamiento para su utilización, “borrando" la información contenida y creando un nuevo sistema de archivos, que puede ser FAT, ext, NTFS, etc.</p></div>

<div class="text-justify"><p><b>Formato como apariencia:</b> esto es, la posibilidad de editar la apariencia del contenido de un documento, siendo la apariencia lo que se visualiza en pantalla (o se imprime). Esto se asocia a la expresión “dar o aplicar formato". En este sentido, se le aplica formato a muchos documentos cuando se cambian las fuentes (tipos de letras) y sus tamaños, se justifican los párrafos, se añaden negritas, cursivas y colores, entre otras características. Aunque se haga a través de un editor, todo esto se traduce a algún lenguaje que represente los cambios, como el de marcado (HTML, XML). </p></div>

<div class="text-justify"><p><b>Formato de archivo:</b> que se refiere a la organización y codificación interna de un fichero informático. Estos formatos permiten que un conjunto de información sea detallada y descrita dentro de un archivo informático siguiendo unas reglas específicas, que varían dependiendo del tipo de información que se trata, del software que la vaya a utilizar, del uso que se le va a dar al archivo, entre otros factores. </p></div>

<div class="text-justify"><p>De esta manera, hay formatos para archivos simples (texto plano), para vídeo (MP4, 3GP, AVI, WEBM, etc.), para audio (MP3, WAV, OGG, etc.), para imágenes (JPG, PNG, GIF, etc.), los cuales se profundizarán más adelante, entre otros.</p></div>

<div class="text-justify"><p>Vale la pena hacer la diferenciación: <b>los formatos de archivos no son las extensiones</b>. Las extensiones se refieren a algunas palabras clave que utilizan muchos sistemas operativos, sus sistemas de archivos y algunas aplicaciones para identificar el tipo de formato de un archivo. Forman parte del nombre del fichero.</p></div>

<div class="text-justify"><p>Por ejemplo, puede haber un archivo llamado <code>foto.jpg</code>, donde “jpg" es la extensión de archivo que indica que el archivo es una imagen y de formato JPG. No obstante, si se cambia el nombre del archivo a <code>foto.gif</code> no significa para nada que el formato haya cambiado. Sólo se cambió el nombre, pero internamente la información se sigue representando de la misma manera. Para hacer el cambio de formato habría que usar un software que “exporte" desde el formato JPG al formato GIF, es decir, que haga la respectiva transformación. </p></div>

<div class="text-justify"><p>Las extensiones en el nombre del archivo no son de fiar, aunque hay softwares que las leen y dependen de ellas para identificar el tipo del archivo y funcionar correctamente, al igual que algunos sistemas operativos que identifican a los tipos de archivos por la extensión en el nombre (algo criticable, por cierto). </p></div>

<div class="text-justify"><p>Es por ello que si renombra la extensión, un programa podría no abrir el archivo aunque el formato no haya cambiado. Normalmente, los navegadores web no sufren de esto. Si soportan el formato del archivo, lo abren independientemente de su extensión, puesto que no reconocen el formato leyendo el nombre del archivo, sino que lo reconocen leyendo los primeros <i>bytes</i> del contenido del fichero.</p></div>

<div class="text-justify"><p>Se hará hincapié ahora en el tema del formato de imágenes, neurálgico en este <i>post</i>. Estos formatos permiten que se pueda representar y almacenar digitalmente la información que compone a una imagen. Existe mucha variedad de formatos, algunos de los cuales  se han citado previamente. </p></div>

<div class="text-justify"><p>Cada uno de ellos tiene sus pro y sus contras, lo cual está en función del contexto en que se aplicará la imagen. Algunos formatos son más utilizados por los profesionales de la fotografía, otros son más apropiados para el uso general de intercambio a través de redes sociales como Facebook, Instagram, otros son más apropiados para difundir información de naturaleza técnica o científica y otros son utilizados para representar animaciones, etc.</p></div>

<div class="text-justify"><p>Para entender los formatos de imágenes, es de utilidad conocer qué es la <b>compresión de imagen</b>. Éste es el proceso mediante el cual el tamaño de un archivo de imagen es reducido para hacerlo más óptimo a la hora de transmitirlo por internet, generalmente. Esta reducción podría o no tener un impacto en la calidad de la imagen, de allí que existan algoritmos de compresión con pérdida y algoritmos de compresión sin pérdida.  </p></div>

<div class="text-justify"><p>Cuando ha habido pérdida de calidad, lo que ha hecho el algoritmo de compresión ha sido sacrificar cierta información que integra la imagen, lo que incidirá en su calidad, aunque se procura que sea lo más mínimo posible. Es por ello que muchas veces la diferencia entre una imagen comprimida con pérdida y una no compromida con pérdida pueda ser imperceptible. Esto explica también porqué teniendo dos archivos con la misma imagen, uno pese más que otro, lo cual seguramente se debe al hecho de que ambos archivos son de formatos distintos, uno comprimido con pérdida y otro sin pérdida.</p></div>

<div class="text-justify"><p>Otro concepto importante es el de <b>transparencia</b>. Esta es una atractiva propiedad de algunos formatos de archivos que hacen que las imágenes puedan tener zonas transparentes. Los formatos de imágenes representan los colores en tres canales de color básicos <code>RGB</code>, esto es, <i>Red</i> (rojo), <i>Green</i> (verde) y <i>Blue</i> (azul), que son los colores primarios en que se descompone la luz (¡sí! El amarillo no es un color primario, sino el verde). Los formatos que soportan transparencia añaden un canal adicional llamado “alfa" que al definir la opacidad de los píxeles, permite combinar imágenes opacas con imágenes con transparencia.</p></div>

<div class="text-justify"><p>La <b>imagen animada</b>, por su parte, se refiere a aquella imagen digital que transmite la sensación de movimiento y es almacenada en un archivo cuyo formato soporta este efecto interpretable por los programas de computadora. 

<div class="text-justify"><p>Las imágenes animadas son demasiado comunes como para profundizar en su definición, sin embargo, se quiere destacar que no debe confundirse la noción de “imagen animada" con “imagen GIF". Si bien el formato GIF soporta la animación, las imágenes que este almacena pueden no estar animadas. Además, hay otros formatos que también soportan la animación, tales como el SWF (animación Flash) y el APNG (PNG animado). Lo que se quiere decir es que es un uso incorrecto decir “gif" de manera generalizada para pensar y referirse a las imágenes animadas. GIF es sólo un formato.</p></div>

<div class="text-justify"><p>En concreto, algunos de los formatos de imágenes más comunes son:</p></div>

<div class="text-justify"><p><b>Formato JPG/JPEG:</b> Son las siglas de <i>Joint Photographic Experts Group</i>, la organización que lo creó. Es posiblemente el formato de imagen más popular en el mundo de internet y en la industria digital, y es el que por defecto generan dispositivos como cámaras digitales y software de digitalización de imágenes. </p></div>

<div class="text-justify"><p>El nombre "JPG" se refiere tanto al formato como al algoritmo de compresión de imágenes que posee. Según esto, dicho formato permite almacenar imágenes grandes en archivos de menor tamaño, lo que puede tener impacto en la calidad de aquellas. Es por esto que la razón de ser de este formato es la de almacenar imágenes que circulen a través de la WWW, así como imágenes muy grandes y fotografías.</p></div>

<div class="text-justify"><p><b>Formato GIF:</b> Otro formato bastante popular. Las siglas significan <i>Graphics Interchange Format</i> (formato de intercambio de gráficos). Este formato es muy conocido por soportar la animación, almacenando las imágenes en secuencias de <i>frames</i>. También soporta la transparencia en tanto es indicado para imágenes con grandes áreas de un mismo color. Al ser el pionero en ambos terrenos se ha convertido en el estándar de facto en la internet para almacenar imágenes con esas propiedades, razón por la cual cualquier navegador lo soporta. </p></div>

<div class="text-justify"><p>No obstante, el formato GIF posee un rango de colores muy limitado (de hasta 256), lo que provoca una pérdida de calidad considerable a aquellas imágenes originalmente con más colores y que han sido exportadas y comprimidas a este formato. Está recomendado para imágenes pequeñas, muy popularmente usadas como <i>banners</i>, memes y distintas formas de publicidad.</p></div>

<div class="text-justify"><p><b>Formato PNG:</b>  El <i>Portable Network Graphics</i> (PNG) es un formato que surgió para combinar ventajas de JPG y GIF y quizá reemplazarlos a ambos. Por una parte, posee un algoritmo de compresión SIN pérdidas, por lo que no tiene incidencia negativa en la calidad de la imagen como sí la tiene JPG. Con él se puede escoger distintos niveles de compresión aunque al no haber pérdidas, los tamaños no serán siempre tan ligeros como los tamaños ofrecidos por JPG. También permite crear colores transparentes, semitransparencias y degradados, con un rango de colores muy superior al limitado GIF. También tiene una variante para permitir el almacenamiento de imágenes animadas.</p></div>

<div class="text-justify"><p>Las figuras 1, 2, 3 y 4 son ejemplos de imágenes en formato JPG, PNG y GIF (véanse)</p></div>

<center><img src="https://s8.postimg.cc/44chrdqrp/comparacionlogos.png"><br>⬆️ <sub><b>Imagen 1:</b> Comparación entre JPG y PNG. Aunque ambas imágenes están en formatos distintos, la de la derecha es más ligera (69,2 KB) debido a que está comprimida con JPG, mientras que la de la izquierda está en formato PNG (1.01 MB). La calidad de ambas es bastante similar a simple vista,  aunque un acercamiento más detallado revela pequeñas variaciones de color y zonas pixeladas, lo que demuestra la pérdida de calidad que genera la compresión JPG.<b>Autor:</b> @Eniolw con base en una imagen de logo de la comunidad de #STEM-Espanol <b>Licencia: </b> CC BY </sub></center>

<br><center><img src="https://s8.postimg.cc/aklghd4f9/comparacion_JPEG_y_PNG.png"><br>⬆️ <sub><b>Imagen 2:</b> Comparación entre JPG y PNG. Éste es un caso de acercamiento (<i>zoom</i>), en donde se aprecia la pérdida de calidad de la imagen a causa del algoritmo de compresión a pérdida de JPG, lo cual no tiene porqué ser malo si al observar la imagen a mayor escala estas pérdidas son imperceptibles. La ventaja de JPG es la eficiencia para el transporte de imágenes a expensas de la calidad, mientras que el de PNG suele ser lo contrario: mayor calidad aunque no siempre lo más ligero. <b>Autor:</b> <a href="https://commons.wikimedia.org/wiki/File:Comparison_of_JPEG_and_PNG.png">WikiCommons</a> <b> Licencia: </b> CC BY </sub></center>

<br><center><img src="https://s8.postimg.cc/uyls40cvp/giphy-physics.gif"><br>⬆️ <sub><b>Imagen 3:</b> Una imagen animada en formato GIF. Muestra un experimento de física clásica utilizando un balón en un vehículo en movimiento. <b>Autor: <a href="https://www.gifbay.com/gif/science_btches-136112/">Gipyhy</a></b> </sub></center>

<br><center><img src="https://s8.postimg.cc/uuwk1jmid/image.png"><br>⬆️ <sub><b>Imagen 4:</b> Una imagen en formato GIF con transparencia. Esta contiene una palabra "oculta". Si el fondo de la ventana o página donde está visualizando este <i>post</i> es blanco, no se apreciará la palabra escrita en el interior del rectángulo. Si se visualiza la imagen en otro contexto de color, podrá apreciarse la palabra oculta. Pruebe abriendo la imagen en otra ventana o quizá reclinando un poco la pantalla del monitor. <b>Autor: @Eniolw</b>  <b>Licencia: </b> CC BY</sub></center>

<div class="text-justify"><p>Existen varios otros formatos de imágenes, aunque menos estandarizados que los anteriores, tales como TIFF, BMP (bit map), RAW, SVG y algunos de software especializados como PSD (de Adobe Photoshop), etc.</p></div>

<div class="text-justify"><p>Avanzando en el recorrido técnico del tema, se estudiará ahora cómo producir imágenes animadas con un lenguaje de programación.</p></div>

<p><b><br>2. PRODUCIENDO IMÁGENES ANIMADAS CON PYTHON</b></p>

<div class="text-justify"><p>En Python hay unas cuántas formas de crear imágenes animadas, amén de los distintos módulos y librerías con los que cuenta. En esta sección se presentará y explicará un <i>snippet</i> que crea la imagen animada en formato GIF, haciendo uso del módulo ImageIO. Este módulo es:</p></div>

<div class="text-justify"><blockquote>Una librería de Python que provee una interfaz fácil para leer y escribir un amplio rango de data de imágenes, incluyendo imágenes animadas, data volumétrica y formatos científicos. Es multiplataforma y corre en Python 2.7 y Python 3.4+ y es muy fácil de instalar [2]</blockquote></div>

<div class="text-justify"><p>Con este módulo se pueden hacer muchas cosas, incluyendo el tratamiento de algunos formatos científicos, lo cual seguramente se profundizará en una futura publicación. De momento, el módulo sirve para crear el <i>snippet</i> que se muestra a continuación, el cual básicamente crea una imagen animada en formato GIF a partir de una serie de imágenes dadas en formato PNG y/o JPG, usándolas como <i>frames</i> para la animación. El código se muestra en la imagen 5 (véase).</p></div>

<center><img src="https://s8.postimg.cc/ouzm6hf9h/imgeiotogif.png"><br>⬆️ <sub><b>Imagen 5:</b> <i>Snippet</i> en Python para crear GIF animados.<b>Autor: </b>@Eniolw <b>Licencia: </b> CC BY </sub></center>

<div class="text-justify"><p>Describiendo el código creado, se tiene que en primer lugar se importa el módulo <code>sys</code> (línea 4)para usar la entrada estándar al momento de ejecutar el archivo como un <i>script</i>. El módulo <code>datetime</code> (línea 3) se importa para disponer de la creación de fechas, lo cual se explicará luego. El módulo <code>imageio</code> (línea 5) es para crear el GIF animado.</p></div>

<div class="text-justify"><p>Luego se tiene la definición de la función <code>crear_gif</code> (línea 11), que como sugiere su nombre, va a estar destinada a crear el GIF animado. Esta recibe dos parámetros: 1) una lista con la ruta y nombre de los archivos (<i>frames</i>) a usar y 2) la duración de transición de cada <i>frame</i>. En el <code>for</code> (línea 13), se recorre cada nombre de la lista indicada y se apilan en una nueva lista compuesta por los archivos cargados con <code>image.imread</code>. Luego se crea un nombre para el archivo GIF a generar, valiéndose del tiempo reportado por <code>datetime</code> para conseguir un nombre irrepetible en el directorio destino. Finalmente, se crea y graba el GIF animado con la función <code>imageio.misave</code> (línea 16).</p></div>

<div class="text-justify"><p>A partir de la línea 18 se encuentra el código a ejecutar en caso de que el <i>script</i> sea corrido directamente. Básicamente, lo que hace es tomar el texto de la entrada estándar (lo que se tipea como comandos y argumentos por terminal) para determinar la duración de transición, y tomar los nombres de los ficheros que servirán para crear la imagen animada. Si hay un error con los datos de entrada, el programa se lo hará sabe al usuario (líneas 24 y 31). Finalmente, se invoca a la función <code>crear_gif</code> (línea 36) explicada anteriormente, la cual escribe en el directorio de ejecución del <code> script</code> la imagen obtenida.</p></div>

<div class="text-justify"><p>A continuación un par de imágenes generadas con el <code>snippet</code> creado (véanse imágenes 6 y 7):</p></div>

<center><img src="https://s26.postimg.cc/bg4kfgeqx/stem.gif"><br>⬆️ <sub><b>Imagen 6:</b> un GIF animado sobre STEM, generado con el código descrito anteriormente. <b>Autor: </b>@Eniolw con base en imágenes de contribución creadas por un colega miembro de la comunidad de #STEM-Espanol: @josearmandor <b>Licencia: </b> Dominio público </sub></center>

<br><center><img src="https://s8.postimg.cc/7hpbrvk11/stem2.gif"><br>⬆️ <sub><b>Imagen 7:</b> un GIF animado sobre STEM, generado con el código descrito. <b>Autor: </b>@Eniolw con base en imágenes de contribución creadas por colegas miembros de la comunidad de #STEM-Espanol: @viannis y @pinedaocl <b>Licencia: </b> Dominio público </sub></center>

<p><b><br>CONCLUSIONES:</b></p>

<div class="text-justify"><p>El conocimiento de esta temática ayuda a entender varias nociones esenciales de informática que, aunque aparentemente sencillas, pueden ser la base para conocimientos más avanzados y requeridos a la hora de empoderarse con las herramientas informáticas para aumentar nuestra productividad.</p></div>

<div class="text-justify"><p>Se vio que estas nociones ayudan a usar apropiadamente algunas terminologías informáticas, por ejemplo, evitando el uso de expresiones imprecisas como “hacer un gif" en lugar de “hacer una imagen animada". También ayuda a reconocer los distintos usos de la palabra “formato" y a diferenciar al formato gráfico de su extensión, toda vez que la operación de transformación de un formato a otro requiere algo más que simplemente cambiar tres letras al nombre del fichero; algo que muchos usuarios promedio tienen como confusión.</p></div>

<div class="text-justify"><p>La información planteada también ha contribuido a destacar la utilidad de los formatos gráficos, cada uno de los cuales desempeña su papel en la representación, almacenamiento y uso de una imagen, bien sea para hacerla ligera a fin de enviarla eficientemente a través de la Internet, mantenerla con un alto grado resolución para apreciarla en detalle o dotarla de propiedades como transparencia y animación, lo que tiene distintos tipos de aplicaciones.</p></div>

<div class="text-justify"><p>En el proceso, se entiende también porqué algunas imágenes tienen un tamaño más ligero que otras, a pesar de que son básicamente la misma, lo cual viene explicado por el algoritmo de compresión de los formatos de ambas imágenes, uno de los cuales posiblemente hace la compresión a pérdidas a fin de reducir aún más el tamaño de la imagen.</p></div>

<div class="text-justify"><p>Por ello es que el JPG ha sido ideal para las imágenes de internet y fotografías, gracias a su algoritmo de compresión que minimiza el tamaño del archivo a expensas de cierto grado de resolución, mientras que la fortaleza del GIF está en la transparencia y la animación, por lo que sus imágenes son sencillas y sin mucha variación de color. Aunque JPG y GIF son los estándares de facto en internet, el formato PNG es el estándar recomendado por el <i>World Wide Web Consortium W3C</i> (consorcio regulador de estándares de la WWW) y combina ventajas de los formatos anteriormente mencionados.</p></div>

<div class="text-justify"><p>Finalmente, el <i>snippet</i> estudiado muestra un ejemplo de cómo abordan los programadores la creación de imágenes animadas (terreno típico de los diseñadores gŕaficos). Con Python y el muy práctico módulo <code>ImageIO</code> se puede crear una imagen animada en formato GIF con muy pocas líneas de código y teniendo como entrada un conjunto de archivos de imagen a enlazar como animación. </p></div>

<div class="text-justify"><p>No obstante, la librería <code>ImageIO</code> posee aún más herramientas útiles en el tratamiento de imágenes desde un punto de vista de programación, incluyendo el procesamiento de imágenes de propósito científico, terreno fértil para próximas investigaciones.</p></div>

<p><b><br>REFERENCIAS:</b></p>
<ul>
	<li>[1] Formatos de imágenes según el <a href="http://www.ite.educacion.es/formacion/materiales/107/cd/imagen/imagen0105.html">Instituto Superior de Formación y Recursos en Red para el Profesorado</a>.</li>
	<li>[2] Documentación de la librería de Python <a href="https://pypi.org/project/imageio/">ImageIO</a> en PyPi</li>
</ul>

<p><br><b>NOTAS ACLARATORIAS:</b></p>
<ul>
<li>La imagen de <i>banner</i> es del autor de la publicación y es de licencia CC BY.</li>
<li>La imagen de pie es de @CarlosERP-2000 y @IAmPhysical y es de dominio público. </li>
</ul>
<center><img src="https://steemitimages.com/0x0/http://i.picasion.com/pic87/f6171e50de4ba9ae17c018b092dc3b1d.gif"></center>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 485 others
properties (23)
post_id56,790,593
authoreniolw
permlinkestudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje
categorysteemstem
json_metadata{"image":["https:\/\/s15.postimg.cc\/3x4ad6s7v\/banner.png"],"links":["https:\/\/commons.wikimedia.org\/wiki\/File:Comparison_of_JPEG_and_PNG.png","https:\/\/www.gifbay.com\/gif\/science_btches-136112\/","http:\/\/www.ite.educacion.es\/formacion\/materiales\/107\/cd\/imagen\/imagen0105.html","https:\/\/pypi.org\/project\/imageio\/"],"format":"markdown","app":"steemit\/0.1","tags":["steemstem","stem-espanol","spanish","cervantes","programacion"],"users":["eniolw","josearmandor","viannis","pinedaocl","carloserp-2000","iamphysical"]}
created2018-07-17 05:25:12
last_update2018-07-18 03:33:21
depth0
children17
net_rshares47,628,144,704,033
last_payout2018-07-24 05:25:12
cashout_time1969-12-31 23:59:59
total_payout_value74.889 SBD
curator_payout_value24.267 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length25,491
author_reputation32,442,260,791,716
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (549)
@ulisesfl17 ·
Hola amigo @eniolw. Gracias por compartir tus experiencias y valiosos conocimientos sobre los archivos gráficos y su calidad en la programación de acuerdo a las necesidades de la extensión. Muy importante la información sobre el software de programación Python, he estado leyendo y practicando algunas cosas sobre su funcionalidad.

Te felicito, espero tu siguiente artículo
👍  ,
properties (23)
post_id56,798,151
authorulisesfl17
permlinkre-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180717t074530355z
categorysteemstem
json_metadata{"app":"steemit\/0.1","tags":["steemstem"],"users":["eniolw"]}
created2018-07-17 07:16:36
last_update2018-07-17 07:16:36
depth1
children1
net_rshares3,872,264,480
last_payout2018-07-24 07:16:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length374
author_reputation31,380,991,891,751
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (2)
@eniolw ·
Hola @ulisesfl17! Tranquilo, de eso se trata de compartir nuestros saberes. Te deseo éxito con Python, es mu bueno! Saludos.
properties (22)
post_id56,880,255
authoreniolw
permlinkre-ulisesfl17-re-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180718t002414467z
categorysteemstem
json_metadata{"users":["ulisesfl17"],"tags":["steemstem"],"app":"steemit\/0.1"}
created2018-07-18 00:24:15
last_update2018-07-18 00:24:15
depth2
children0
net_rshares0
last_payout2018-07-25 00:24:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length124
author_reputation32,442,260,791,716
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@endopediatria ·
Muy educativa tu publicación. Pienso que oara los no expertos debemos familiarizarnos con algunas herramientas según nuestras necesidades para aprovecharlas al máximo, a veces se comete el error de querer usar todo al mismo tiempo y caemos en el mal uso. Gracias por compartir esta información tan valiosa.
👍  
properties (23)
post_id56,843,089
authorendopediatria
permlinkre-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180717t160828513z
categorysteemstem
json_metadata{"tags":["steemstem"],"app":"steemit\/0.1"}
created2018-07-17 16:08:48
last_update2018-07-17 16:08:48
depth1
children1
net_rshares2,408,358,756
last_payout2018-07-24 16:08:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length306
author_reputation1,676,657,841,621
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@eniolw ·
Así es estimada @endopediatria, esa es la idea, que estos conocimientos nos ayuden a hacer mejor aprovechamiento de los software que podamos utilizar. Gracias a ti por leer!
properties (22)
post_id56,880,526
authoreniolw
permlinkre-endopediatria-re-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180718t002907566z
categorysteemstem
json_metadata{"users":["endopediatria"],"tags":["steemstem"],"app":"steemit\/0.1"}
created2018-07-18 00:29:06
last_update2018-07-18 00:29:06
depth2
children0
net_rshares0
last_payout2018-07-25 00:29:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length173
author_reputation32,442,260,791,716
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@josearmandor ·
Hola @eniolw, muy interesante tu post, me parece muy importante lo que afirmas sobre el uso incorrecto de algunos términos , aveces el lenguaje informático suele ser complejo, sobre todo para quienes no nos involucramos directamente en la disciplina, saludos.
👍  
properties (23)
post_id56,843,300
authorjosearmandor
permlinkre-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180717t161045916z
categorysteemstem
json_metadata{"tags":["steemstem"],"app":"steemit\/0.1","users":["eniolw"]}
created2018-07-17 16:10:51
last_update2018-07-17 16:10:51
depth1
children1
net_rshares2,321,008,957
last_payout2018-07-24 16:10:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length259
author_reputation647,308,203,701
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@eniolw ·
Sí! el lenguaje técnico de cada área se puede volver extraño para quienes no son de esa área, jeje. Gracias por tu apreciación, saludos!
properties (22)
post_id56,880,619
authoreniolw
permlinkre-josearmandor-re-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180718t003035632z
categorysteemstem
json_metadata{"app":"steemit\/0.1","tags":["steemstem"]}
created2018-07-18 00:30:36
last_update2018-07-18 00:30:36
depth2
children0
net_rshares0
last_payout2018-07-25 00:30:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length136
author_reputation32,442,260,791,716
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@delpilar · (edited)
Saludos mi estimado @eniolw

El material que nos comparte es educativo y aclaratorio para los integrantes de la comunidad steemit, en especial para stem-espanol, quienes se enriquecerán con algunos términos propios de la  informática.

Al mismo tiempo, es práctico porque permite mostrar el aprovechamiento de los formatos mencionados a través de un lenguaje de programación como  Python para generar imágenes animadas, las cuáles pueden servir para ilustrar los diversos aportes o ambientes (canales) de los miembros activos de la comunidad steemit y más allá de ella.

Seguiremos en contacto
👍  
properties (23)
post_id56,875,180
authordelpilar
permlinkre-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180717t230126792z
categorysteemstem
json_metadata{"app":"steemit\/0.1","users":["eniolw"],"tags":["steemstem"]}
created2018-07-17 23:01:39
last_update2018-07-18 00:05:09
depth1
children1
net_rshares2,370,923,128
last_payout2018-07-24 23:01:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length593
author_reputation2,411,138,858,071
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@eniolw ·
Hola estimada Dra @Delpilar. Me alegra que haya podido apreciar la idea del _post_ y su contenido. ¡Nos vemos! 😊
properties (22)
post_id56,880,748
authoreniolw
permlinkre-delpilar-re-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180718t003245311z
categorysteemstem
json_metadata{"users":["delpilar"],"tags":["steemstem"],"app":"steemit\/0.1"}
created2018-07-18 00:32:45
last_update2018-07-18 00:32:45
depth2
children0
net_rshares0
last_payout2018-07-25 00:32:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length112
author_reputation32,442,260,791,716
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@amestyj ·
Saludos @eniolw tu artículo nos ayuda aclarar algunos términos informáticos con respecto a la imagenes, gracias por orientarnos a través de tu artículo en la utilización de algunos tipos de imágenes, muy educativo un abrazo saludos !
properties (22)
post_id56,973,890
authoramestyj
permlinkre-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180718t194150444z
categorysteemstem
json_metadata{"app":"steemit\/0.1","tags":["steemstem"],"users":["eniolw"]}
created2018-07-18 19:41:09
last_update2018-07-18 19:41:09
depth1
children1
net_rshares0
last_payout2018-07-25 19:41:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length233
author_reputation72,258,491,181,307
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@eniolw ·
Saludos @amaestyj. De nada! Gracias por leer.
properties (22)
post_id57,164,678
authoreniolw
permlinkre-amestyj-re-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180720t134245484z
categorysteemstem
json_metadata{"tags":["steemstem"],"app":"steemit\/0.1","users":["amaestyj"]}
created2018-07-20 13:42:45
last_update2018-07-20 13:42:45
depth2
children0
net_rshares0
last_payout2018-07-27 13:42:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length45
author_reputation32,442,260,791,716
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@lupafilotaxia ·
Buen aporte estimado @eniolw, además de ilustrativo y muy didáctico, tu manuscrito será de mucha ayuda para el resto de los miembros de la comunidad @stem-espanol. Gracias por la contribución que haces para que todos podamos crecer en este mundo de socialización de contenido de la mano de #stem-espanol
👍  ,
properties (23)
post_id56,991,795
authorlupafilotaxia
permlinkre-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180719t001234169z
categorysteemstem
json_metadata{"users":["eniolw","stem-espanol"],"tags":["steemstem","stem-espanol"],"app":"steemit\/0.1"}
created2018-07-19 00:12:33
last_update2018-07-19 00:12:33
depth1
children1
net_rshares5,093,481,205
last_payout2018-07-26 00:12:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length303
author_reputation347,625,087,438,770
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (2)
@eniolw ·
Hola @lupafilotaxia. Para eso estamos. Saludos!
properties (22)
post_id57,164,786
authoreniolw
permlinkre-lupafilotaxia-re-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180720t134346549z
categorysteemstem
json_metadata{"tags":["steemstem"],"app":"steemit\/0.1","users":["lupafilotaxia"]}
created2018-07-20 13:43:48
last_update2018-07-20 13:43:48
depth2
children0
net_rshares0
last_payout2018-07-27 13:43:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length47
author_reputation32,442,260,791,716
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@elvigia ·
Leyendo tu interesante post. Veamos si lo puedo intentar, gracias por compartir. Saludos.
properties (22)
post_id57,198,481
authorelvigia
permlinkre-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180720t201658182z
categorysteemstem
json_metadata{"tags":["steemstem"],"app":"steemit\/0.1"}
created2018-07-20 20:17:03
last_update2018-07-20 20:17:03
depth1
children1
net_rshares0
last_payout2018-07-27 20:17:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length89
author_reputation14,053,282,539,281
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@eniolw ·
A la orden Dra @Elvigia. Saludos!
properties (22)
post_id57,213,346
authoreniolw
permlinkre-elvigia-re-eniolw-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180721t003003330z
categorysteemstem
json_metadata{"users":["elvigia"],"app":"steemit\/0.1","tags":["steemstem"]}
created2018-07-21 00:30:03
last_update2018-07-21 00:30:03
depth2
children0
net_rshares0
last_payout2018-07-28 00:30:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length33
author_reputation32,442,260,791,716
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@steemstem ·
post_voted_by
<center> https://cdn.discordapp.com/attachments/354723995037466624/463380522928963599/steemSTEM.png</center> <br><br> This post has been voted on by the steemstem curation team and voting trail.  <br> <br>There is more to SteemSTEM than just writing posts, check <a href="https://steemit.com/steemstem/@steemstem/being-a-member-of-the-steemstem-community">here</a> for some more tips on being a community member. You can also join our discord <a href="https://discord.gg/BPARaqn">here</a> to get to know the rest of the community!
👍  
properties (23)
post_id57,234,612
authorsteemstem
permlinkre-estudio-de-nociones-informaticas-en-torno-al-formato-de-archivos-e-imagenes-y-la-creacion-de-imagenes-animadas-con-el-lenguaje-20180721t061805
categorysteemstem
json_metadata{}
created2018-07-21 06:18:06
last_update2018-07-21 06:18:06
depth1
children0
net_rshares1,956,692,252
last_payout2018-07-28 06:18:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length530
author_reputation229,673,617,633,863
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@utopian-io ·
#### Hi @eniolw!

Your post was upvoted by utopian.io in cooperation with steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.

#### Contribute to Open Source with utopian.io
Learn how to contribute on <a href="https://join.utopian.io">our website</a> and join the new open source economy.

**Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV**
properties (22)
post_id57,312,212
authorutopian-io
permlink20180722t013009291z
categorysteemstem
json_metadata{"app":"utopian-io","tags":["utopian.tip"]}
created2018-07-22 01:30:12
last_update2018-07-22 01:30:12
depth1
children0
net_rshares0
last_payout2018-07-29 01:30:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length420
author_reputation152,913,012,544,965
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@steemitboard ·
Congratulations @eniolw! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

[![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/votes.png)](http://steemitboard.com/@eniolw) Award for the number of upvotes

<sub>_Click on the badge to view your Board of Honor._</sub>
<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>



> Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
properties (22)
post_id58,499,519
authorsteemitboard
permlinksteemitboard-notify-eniolw-20180802t090811000z
categorysteemstem
json_metadata{"image":["https:\/\/steemitboard.com\/img\/notify.png"]}
created2018-08-02 09:08:09
last_update2018-08-02 09:08:09
depth1
children0
net_rshares0
last_payout2018-08-09 09:08:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length666
author_reputation38,705,954,145,809
root_title"🖼 📸 🐍 Estudio de nociones informáticas en torno al formato de archivos e imágenes y la creación de imágenes animadas con el lenguaje de programación Python"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000