Extraer el texto de una imagen con JavaScript

Extraer el texto de una imagen con JavaScript

Una de las técnicas de inteligencia artificial más estudiadas es la denomiada OCR (Reconocimiento Óptico de Caracteres), la cual consiste en extraer el texto que hay en una imagen.

Por qué es útil el OCR

Hoy en día, encontramos multitud de situaciones donde parte de los documentos o medios en los que trabajos son digitales y otra parte analógicos. Como todos sabemos los ordenadores trabajan muy bien con la parte digital, ya que así están pensados, sin embargo se comportan bastante mal cuando tienen que tratar con datos que no son digitales, como por ejemplo:

  • Cantidades escritas a mano (facturas, contratos, cheques…)
  • Direcciones escritas a mano (envíos, paquetería, facturas…)
  • Indicaciones escritos a mano (comentarios, modos de uso…)

Para intentar salvar todos los problemas anteriores, se aplican técnicas de OCR, las cuales parten de una imagen donde está el texto a reconocer y, con un conjunto de algoritmos ya entrenados, son capaces de extraer en mayor o menor medida el texto que hay en esas imágenes.

Leer más

La CDN de tus recursos de programación web

La CDN de tus recursos de programación web

Cuando estamos trabajando en el desarrollo de una web, normalmente nos enfrentamos al problema de que hay múltiples librerías y recursos para realizar una tarea concreta. Una vez que realizamos la elección de los distintos componentes que vamos a utilizar en nuestro proyecto, nos topamos con el problema de cómo integrarlos al mismo. En este momento encontramos distintas maneras de proceder:

Usando recursos locales

Una primera aproximación y quizás la más utilizada es descargar todos aquellos recursos que vamos a utilizar (bibliotecas de JavaScript, fuentes, estilos …), enlazarlos y subirlos a nuestro servidor. Esto no es bueno para las cachés, ya que si tu web usa jQuery y el usuario antes ha visitado una web que usa jQuery, su navegador va a volver a descargar ese fichero con la pérdida de tiempo y rendimiento que eso supone.

Usando recursos remotos

Para solventar el problema podemos hacer que nuestro recurso (por ejemplo jQuery) sea cargado desde un servidor conocido, esto hace que si el usuario ha visitado otra web que también usaba el mismo recurso en el mismo servidor, la caché funcione y no tenga que volver a obtenerlo.

Leer más

Cómo añadir resaltado de sintaxis a tu web

Cómo añadir resaltado de sintaxis a tu web

Uno de los mayores problemas que encontramos las personas que escribimos sobre programación es la necesidad de mostrar el código fuente de manera sencilla. Esto se hace normalmente mediante algún sistema de resaltado de sintaxis, el cual nos permite colorear cada conjunto de palabras claves.

 

Añadiendo resaltado de sintaxis a tu web

El resaltado de sintaxis está presente en todos los editores de código, pero también lo podemos usar en una web mediante Prism.

Este desarrollo nos va a permitir mediante el uso de un fichero JavaScript que contiene los patrones y otro CSS que cuenta con los colores, conseguir un resaltado de sintaxis profesional, que no tiene nada que envidiar al de tu entorno de desarrollo. Este desarrollo además es compatible con multitud de lenguajes (más de 100) y cuenta con temas y plugins para que podamos adaptar el aspecto final. Finalmente podemos decir que tal es la calidad, que algunas empresas como Mozilla lo usan en su documentación online.

Leer más

Las librerías más usadas en C

Te enseñamos cuales son las librerías más usadas de C

Uno de los problemas más comunes con los que se encuentra un usuario cuando empieza a codificar en C, es que necesita ciertas funciones que no forman parte de la sintaxis básica del lenguaje. Este problema es muy común tanto para los principiantes en programación, como para los que vienen de otro lenguaje como Java o C#, los cuales tienen más implementaciones.

La manera de añadir más funcionalidad en C es utilizar librerías o bibliotecas. Este término que viene del inglés library, agrupa un conjunto de funcionalidad creado por otras personas y que vamos a poder usar directamente en nuestro programa.

La librería de C para la gestión de tiempos

Uno de los problemas de gran complejidad que tenemos en todos los lenguajes es la gestión del tiempo, por ello para C tenemos la librería time.h

Creando números aleatorios

Algunos os preguntaréis, para que voy a necesitar el tiempo si quiero generar números aleatorios. Pues la respuesta es bastante simple, el generador de números aleatorios necesita una semilla (valor inicial), así que qué mejor que utilizar el tiempo actual como semilla del generador.

srand(time(NULL));
var=rand();

Con time(NULL) siempre será distinta la semilla ya que con ella obtenemos el tiempo en segundos del momento actual respecto al 1 de Enero de 1970.

Midiendo tiempos de ejecución

Otra de las cuestiones que nos podemos plantear, es la posibilidad de comprobar cuanto tiempo le lleva a nuestro ordenador ejecutar un fragmento de código.

clock_t inicio,fin; //variables para medir tiempo
inicio=fin=clock();
//sentencias que queramos saber su tiempo de ejecucion
fin=clock();
printf("El tiempo de ejecucion de esa parte es %lF",((fin-inicio)/(double)CLOCKS_PER_SEC));

clock_t  es el tipo de dato de las variables para medir tiempo.
clock(); devuelve el número de ciclos ejecutados.
CLOCKS_PER_SEC es una constante que indica el número de ciclos que ejecuta nuestra CPU en un segundo.

Leer más

Cómo subir una aplicación a la Windows Store

Cómo subir una aplicación a la Windows Store

En los últimos tiempos, las tiendas de aplicaciones se han convertido en la piedra angular de la distribución de las aplicaciones. En este artículo os vamos a enseñar todos los pasos que debéis realizar, desde que hacéis la aplicación, hasta que la subís a la tienda.

Reservando el nombre de nuestra aplicación

Lo primero que tenemos que hacer para distribuir nuestra aplicación en la tienda de Windows, es reservar el nombre de nuestra aplicación. Este proceso se realiza desde el panel de desarrolladores.

Panel de la Windows Store para la reserva de nombres y la visualizaición de los datos

Pulsaremos en crear una aplicación nueva, aquí nos saldrá un cuadro en el que podremos comprobar si el nombre que queremos usar está disponible y reservarlo para nosotros.

Leer más

Curso online gratis de desarrollo web

Curso online gratis y certificado de desarrollo web

El desarrollo web hoy en día se ha convertido en uno de los sectores más importantes de la informática. Ya que con el auge de Internet, cualquier negocio físico quiere disponer de un punto de encuentro online donde mostrar sus servicios, su localización, su horario…, algunos incluso han aprovechado este medio para seguir vendiendo sus productos y servicios.

Además hoy en día hay multitud de servicios cuya presencia es únicamente online, si a eso le sumamos que muchas personas quieren tener sistemas de blogs para comentar sus vivencias, nos encontramos con un mercado muy amplio.

Leer más

Crea fondos web llamativos con JavaScript

Crea fondos llamativos para tu web con JavaScript

Una de las características básicas de las páginas web actuales, es conseguir un aspecto llamativo que permita al usuario recordarla y le invite a seguir descubriéndola. La verdad es que esto lo podemos conseguir utilizando distintas aproximaciones, con un buen diseño basado en imágenes, con tipografías, con iconos, etc.

En este caso os proponemos utilizar una librería de JavaScript que nos va a permitir generar un fondo muy llamativo y espectacular para nuestra web.

Generando fondos con Trianglify

Trianglify es una librería de JavaScript desarrollada por Quinn Rohlf, que se va a encargar de generar infinitos fondos basándose en la distribución de triángulos. Todo ello es aderezado por paletas de colores basadas en degradados para conseguir mejorar el efecto que buscamos:

Leer más

¡Hola mundo!

Hola Mundo

Lenguaje de programación nace como un punto de encuentro para desarrolladores, donde vamos a poder encontrar información sobre nuestros lenguajes y tecnologías favoritas. Algunos de los recursos que que vamos a compartir son:

  • Descripciones de los lenguajes y tipos de los mismos.
  • Recomendaciones sobre los IDEs a utilizar, configuraciones, etc.
  • Novedades sobre los mismos.
  • Tutoriales de las características más importes o curiosas.
  • Manuales paso a paso y extractos de código.

Finalmente esperamos que os sintáis cómodos en este comunidad y si tenéis alguna duda, esperamos vuestros comentarios.

¡Bienvenidos!