Detección y manipulación inteligente de texto en imágenes
Los desarrolladores web cotidianos buscan mejores formas de mejorar la experiencia del usuario cuando se trata de imágenes. A menudo, cuando se trata de imágenes cargadas por usuarios o de terceros, podría haber información confidencial que requeriría manipular el texto incrustado como contenido en una imagen. Los números de registro del automóvil, las tarjetas de identidad, las señales de tráfico y los comerciales son algunos de los posibles escenarios en los que es posible que deba manipular el contenido del texto de una imagen.
El requisito se vuelve aún más interesante cuando se aplica a escenarios más avanzados, donde traduce texto escrito en un idioma extranjero.
Manualmente, esto parece simple, pero si tiene cientos de imágenes regularmente, la automatización es necesaria para la eficiencia. Servicios como Cloudinary puede simplificar el complejo proceso que implica la extracción y manipulación de texto de imágenes. Cloudinary es un servicio de gestión de imágenes y vídeo de un extremo a otro basado en la nube. El almacenamiento, la manipulación, la transformación y la entrega de medios es lo que Cloudinary sabe cómo hacerlo mejor. La amplia gama de manipulaciones incluye el reconocimiento de caracteres, la extracción y la manipulación de texto en imágenes.
El reconocimiento óptico de caracteres (OCR) disponible como complemento funciona con API de Google Vision.
OCR para manipulación
Lo primero que queremos intentar con OCR es manipular una imagen en función de los caracteres que se encuentran en la imagen. Por ejemplo, en un sitio web de bienes raíces, es posible que desee ocultar los datos de contacto del agente. Aunque es posible que pueda restringir que los agentes muestren su información de contacto, es posible que descubran diferentes formas de dejar estos detalles en la imagen, como se muestra a continuación:
https://xn--diseopaginaswebya-ixb.es/wp-content/uploads/2021/12/Deteccion-y-manipulacion-inteligente-de-texto-en-imagenes.jpg
El letrero muestra claramente el número de teléfono del agente, que podría violar sus términos y condiciones. Con OCR, puede reemplazar el texto con su propia información de contacto.
Para lograr esto con Cloudinary, necesitamos usar tres parámetros:
1. La imagen superpuesta: La imagen sobre la que pretendemos cubrir el texto detectado.
2. Establezca Gravedad en text_ocr
para un posicionamiento correcto
3. fl_region_relative
para ajustar el ancho de la imagen superpuesta al del elemento de texto detectado.
https://xn--diseopaginaswebya-ixb.es/wp-content/uploads/2021/12/1639979436_775_Deteccion-y-manipulacion-inteligente-de-texto-en-imagenes.jpg
Para replicar el ejemplo anterior, necesitará un cuenta gratuita de Cloudinary. Una vez que haya creado su cuenta, cargue la imagen de arriba en su nube aprovisionada y comience a manipular la URL de la imagen como lo estamos haciendo arriba.
Por supuesto, puede usar un SDK para lograr esto. A continuación, se muestra un ejemplo en el que se utiliza el SDK de JavaScript para entregar una imagen transformada:
js
cloudinary.image("home_4_sale.jpg", {overlay: "call_text",
flags: "region_relative",
width: "1.1",
gravity: "ocr_text"})
En lugar de superponer el texto de la imagen con otra imagen, también podríamos difuminar el texto si no queremos mostrar ninguna información de contacto en la imagen.
Usando el mismo ejemplo:
js
https://xn--diseopaginaswebya-ixb.es/wp-content/uploads/2021/12/1639979437_155_Deteccion-y-manipulacion-inteligente-de-texto-en-imagenes.jpg
Entonces, en lugar de usar una superposición, estamos configurando el e_pixelate_region
para difuminar la región, siendo 15 el nivel de desenfoque aplicado. Darse cuenta de g_ocr_text
todavía está ahí para especificar la instrucción OCR.
OCR para extracción de texto
Otro caso de uso común es recuperar el texto detectado en la imagen. El texto extraído se puede analizar más a fondo para adaptarse a las necesidades del usuario. Puede recuperar este texto mientras carga o actualiza una imagen almacenada en su Cloudinary servidor.
Carguemos la siguiente imagen de Pexel en Cloudinary y extraigamos el texto que se encuentra en la imagen:
Para comenzar a hacer esto, necesita crear una cuenta en Cloudinary. Una vez que tenga una cuenta, habrá una nube aprovisionada para que almacene sus imágenes y las transforme como desee. También se le entregarán sus credenciales de API, que incluyen el nombre de la nube, la clave de API y el secreto. Recupere estas credenciales y guárdelas de forma segura.
A continuación, deberá habilitar el complemento OCR yendo a su configuración de complementos y haciendo clic en la opción gratuita debajo de las configuraciones de complementos de OCR.
A continuación, cree un entorno de nodo simple ejecutando:
«Bash
Crear un proyecto de nodo
npm init –y
Agregar un punto de entrada
toque index.js
«»
También creamos un index.js
punto de entrada para el ejemplo. Antes de ir directamente a este archivo, necesitamos instalar el SDK de Cloudinary:
bash
npm install --save cloudinary
Ahora puedes regresar al index.js
archivo de entrada y configure una instancia de Cloudinary para conectarse a su nube Cloudinary:
«Js
const cloudinary = require (‘cloudinary’);
cloudinary.config ({
nubenombre: ‘NUBENOMBRE’,
apiclave: ‘APILLAVE’,
apisecreto: ‘APISECRET’
});
«»
Ya está todo listo para comenzar a cargar imágenes mientras intenta recuperar el contenido de texto en las imágenes. Aquí es cómo:
js
cloudinary.v2.uploader.upload("https://xn--diseopaginaswebya-ixb.es/wp-content/uploads/2021/12/Deteccion-y-manipulacion-inteligente-de-texto-en-imagenes.jpeg",
{ ocr: "adv_ocr" },
function(error, result) {
if(error) {
console.log(error);
return
}
console.log(result.info.ocr.adv_ocr.data[0].textAnnotations[0].description)
});
Básicamente, el método de carga se utiliza para enviar imágenes a su servidor Cloudinary. Pero si desea que el proceso de carga recupere el contenido del texto mientras se carga como respuesta, debe configurar el ocr
opción a adv_ocr
.
Ejecute la aplicación con el siguiente comando y observe el resultado en la consola:
bash
node index.js
La imagen que subimos imprime lo siguiente en la consola:
Este texto se puede utilizar según sus requisitos.
Conclusión
Es sorprendente lo que podemos lograr con el complemento OCR de Cloudinary. Solo tuvimos que fijar parámetros en la URL de entrega de las imágenes para reemplazar el texto o difuminarlas. También puede configurar fácilmente un proceso para bloquear imágenes con palabras adultas o sensibles extrayendo el texto. Cloudinary OCR permite esto y muchos más casos de uso.
Inscribirse gratis para empezar.
#Detección #manipulación #inteligente #texto #imágenes