Descriptor de imágenes en línea

El propósito de este complemento es añadir motores de reconocimiento de imágenes en línea a NVDA.

Hay dos tipos de motores. OCR y descriptor de imágenes.

El OCR extrae texto de las imágenes.

Los descriptores de imágenes describen características visuales de la imagen en forma de texto, tales como su descripción general, marcas de tipo de color y demás.

Es necesario disponer de conexión a Internet para usar este complemento, ya que los servicios de descripción de imágenes se proporcionan a través de conexiones a una API en Internet.

En este complemento se conocen como motores.

Hay tres tipos de motores en este complemento.

  • Motor de OCR en línea
  • Motor de descripción de imágenes en línea
  • OCR de Windows 10 (fuera de línea)

También debes elegir la fuente de reconocimiento de la imagen.

  • Navegador de objetos actual
  • Ventana actual en primer plano
  • Toda la pantalla
  • Datos de imagen o archivo desde el portapapeles
  • Ruta a un archivo de imagen o URL a una imagen desde el portapapeles

Órdenes de teclado

Después de elegir los tipos, puedes iniciar el reconocimiento con un gesto.

NVDA+alt+p reconoce el objeto en función del tipo de fuente y motor configurados y lee el resultado. Si se pulsa dos veces, abre un documento virtual con el resultado.

Hay cuatro gestos más sin asignar. Por favor, asígnalos antes de usarlos.

Alternar entre los diferentes tipos de motores de reconocimiento.

Alternar entre los distintos tipos de fuentes de reconocimiento.

Cancelar el reconocimiento actual

Este gesto puede ser útil si crees que has esperado demasiado y quieres cancelar.

Además hay veces en las que no te gustaría que el mensaje de reconocimiento te molestara porque quieres revisar los mensajes que han llegado después de iniciar el reconocimiento.

Mostrar el resultado anterior en un documento de resultados virtual.

Aunque hay una función para copiar el resultado al portapapeles, no se puede preservar la información de posición de los caracteres, por lo que se añade este gesto para resolver el problema.

Hay también cuatro gestos sin asignar para aquellos usuarios que prefieran los gestos de versiones anteriores.

Se recomienda usar el gesto nuevo y pasar entre motores de reconocimiento según tus necesidades.

Reconoce el objeto actual del navegador de objetos con un motor OCR en línea y lee el resultado. Si se pulsa dos veces, abre un documento virtual con el resultado.

Reconoce la imagen del portapapeles con un motor OCR en línea y lee el resultado. Si se pulsa dos veces, abre un documento virtual con el resultado.

Reconoce el objeto bajo el navegador de objetos y lee el resultado. Si se pulsa dos veces, abre un documento virtual con el resultado.

Reconoce la imagen del portapapeles y lee el resultado. Si se pulsa dos veces, abre un documento virtual con el resultado.

Configuración de motor

Puedes elegir motores de reconocimiento y configurarlos en detalle en la categoría Online image describer del diálogo de opciones de NVDA.

El autor de este complemento ha registrado cuentas con cuota de API gratuita y ha configurado un servidor proxy en www.nvdacn.com para permitir que este complemento sea más fácil de probar al principio. La cuota de pruebas está limitada y puede ser cancelada por el proveedor de la API en cualquier momento.

Se recomienda encarecidamente que registres tu propia clave siguiendo las guías de cada motor.

Los siguientes ajustes se aplican a todos los motores.

  • Copiar resultado al portapapeles después del reconocimiento: si se activa, el texto del resultado del reconocimiento se copiará al portapapeles tras el reconocimiento.
  • Usar mensaje explorable para el texto del resultado: si se activa, el texto del resultado del reconocimiento se mostrará en una ventana emergente en lugar de enviarse por mensajes de voz y braille.
  • Intercambiar el efecto de gestos repetidos con los que no están repetidos: por defecto, sólo se muestra un documento virtual con el resultado si pulsas el gesto correspondiente dos veces. Si haces esto frecuentemente puedes activar esta opción, de tal forma que sólo pulses una vez para abrir el visor de resultados.
  • Activar registro más detallado con propósitos de depuración: algunos registros son esenciales para depurar, pero afectan al rendimiento y consumen mucho espacio. Activa esta opción sólo si el autor del complemento o un desarrollador de NVDA te lo pide.
  • Tipo de proxy: indica el tipo de proxy que estás usando. Si no sabes qué es un proxy, no modifiques esta opción.
  • Dirección del proxy: URL completa del proxy. Si no sabes qué es un proxy no cambies esta opción. Si eliges usar un proxy, este se verificará antes de guardar. Tras la verificación, un mensaje te indicará el resultado.

Los siguientes ajustes significan lo mismo en todos los motores, por lo que se describen aquí para ahorrar espacio.

  • Tipo de acceso a la API: controla cómo se accede a las conexiones de la API corresponiente.

    • Si eliges "Usar cuota pública", estás usando una cuota gratuita registrada por el autor del complemento.
    • Si eliges "Usar mi propia clave de API", el complemento consumirá de la cuota de tu propia cuenta.
  • ID de aplicación, clave de API o clave secreta de API: si quieres usar la cuota de tu propia cuenta será necesario que dispongas de los tokens de acceso correspondientes. Algunos motores sólo necesitan una clave de API. Algunos motores necesitan dos tokens. Estos sólo son válidos si eliges "Usar tu propia clave de API" en tipo de acceso a la API.

Ten en cuenta que la calidad y la precisión de los resultados dependen de muchos factores.

  • Modelos y técnicas empleados por el proveedor del motor
  • Calidad de la imagen subida
  • Navegador de objetos oculto tras algo
  • Resolución de pantalla

Descripción de imágenes en línea

Hay tres motores disponibles.

Analizador de imágenes de Microsoft Azure

Este motor extrae un rico conjunto de características visuales basándose en el contenido de la imagen.

Este motor está sólo en inglés. Si quieres que la descripción se muestre en otros idiomas, puedes usar el descriptor de imágenes de Microsoft Azure

Entre las características visuales se incluyen:

  • Adulto - detecta si la imagen es de naturaleza pornográfica (representa la desnudez o un acto sexual). También se detecta el contenido sexualmente sugerente.
  • Marcas - detecta diversas marcas dentro de la imagen, incluyendo su ubicación aproximada. El argumento de marcas sólo está disponible en inglés.
  • Categorías - clasifica el contenido de la imagen según una taxonomía definida en la documentación.
  • Color - determina el color más llamativo, el color predominante y si la imagen está en blanco y negro.
  • Descripción - describe el contenido de la imagen con una frase completa en los idiomas soportados.
  • Caras - detecta si hay caras presentes. Si las hay, identifica sus coordenadas, género y edad.
  • Tipo de imagen - detecta si la imagen es prediseñada o se ha dibujado a mano.
  • Objetos - detecta diversos objetos dentro de la imagen, incluyendo su ubicación aproximada. El argumento de objetos sólo está disponible en inglés.
  • Etiquetas - etiqueta la imagen con una lista detallada de palabras relacionadas con su contenido.

Algunas características también proporcionan detalles adicionales:

  • Famosos - Identifica personas famosas si se detectan en la imagen.
  • Puntos de referencia - identifica puntos de referencia si se detectan en la imagen.

Descriptor de imágenes de Microsoft Azure

Este motor genera descripciones de imágenes en un lenguaje natural con frases completas. La descripción se basa en una colección de etiquetas de contenido, también devueltas por la operación.

Se puede generar más de una descripción para cada imagen. Las descripciones se ordenan según su puntuación de confianza.

Hay dos ajustes para este motor.

  • Idioma: el idioma que usará el servicio para devolver una descripción de la imagen. Por defecto, inglés.
  • Número máximo de candidatos: cantidad máxima de descripciones candidatas que se devuelven. Por defecto 1.

OCR en línea

Los motores en línea se apoyan en el uso y presencia de los siguientes servicios.

https://www.nvdacn.com

https://ocr.space/ocrapi

https://azure.microsoft.com/es-es/services/cognitive-services/

http://ai.qq.com

http://ai.baidu.com

http://ai.sogou.com/

https://intl.cloud.tencent.com

Motores

Hay cinco motores disponibles.

Tencent Cloud OCR

Esta API está patrocinada por Tencent Cloud y la Accessibility Research Association, con un límite de 15000 por día.

Este motor soporta 19 idiomas.

  • Una mezcla entre chino e inglés
  • Japonés
  • Coreano
  • Español
  • Francés
  • Alemán
  • Portugués
  • Vietnamita
  • Malayo
  • Ruso
  • Italiano
  • Holandés
  • Sueco
  • Finés
  • Danés
  • Noruego
  • Húngaro
  • Tailandés
  • Latín

Estos son los ajustes de este motor.

  • Idioma: idioma de reconocimiento del texto. Por defecto detectar automáticamente.

OCR space

Este servicio consta de una API de pago con cuota gratuita proporcionada por OCR Space

Soporta 24 idiomas

  • Árabe
  • Búlgaro
  • Chino (simplificado)
  • Chino (tradicional)
  • Croata
  • Checo
  • Danés
  • Holandés
  • Inglés
  • Finés
  • Francés
  • Alemán
  • Griego
  • Húngaro
  • Coreano
  • Italiano
  • Japonés
  • Polaco
  • Portugués
  • Ruso
  • Esloveno
  • Español
  • Sueco
  • Turco

Estos son los ajustes de este motor:

  • Idioma: idioma de reconocimiento del texto. Por defecto inglés.
  • Detectar orientación de la imagen: si se activa, la API gira automáticamente la imagen correctamente.
  • Escalar imagen para mejorar la calidad: si se activa, la API escala la imagen internamente. Esto puede mejorar el resultado del OCR de forma significativa, especialmente para documentos PDF escaneados con baja resolución.
  • Optimizar para reconocimiento de tablas: si se activa, la lógica del OCR se asegura de que el texto del resultado interpretado siempre se devuelva línea a línea. Esta opción se recomienda para hacer OCR en tablas, recibos, facturas, y todos los tipos de documentos entrantes que tengan estructura de tabla.

Si quieres usar tu propia clave, también deberás especificar tu clave de API.

Puedes obtener tu propia clave de API gratuita registrándote en OCR space

Aquí hay una guía simple.

Busca el enlace "Register for free API key"

Púlsalo y llegarás a un formulario que hay que rellenar.

El formulario te pide que introduzcas los siguientes datos

  • Dirección de correo electrónico
  • Nombre
  • Apellidos
  • ¿Cómo tienes pensado usar la API del OCR?

Después de rellenarlo y enviarlo, puede que tengas que superar un captcha

A continuación, recibirás un correo electrónico de confirmación

Busca el enlace "Yes, subscribe me to this list." en ese correo. Accede a ese enlace y recibirás la clave de API pronto.

Microsoft Azure OCR

Este motor utiliza la API del OCR de los Servicios Cognitivos de Visión Artificial de Microsoft Azure.

Soporta 24 idiomas, incluyendo

  • Chino simplificado
  • Chino tradicional
  • Checo
  • Danés
  • Holandés
  • Inglés
  • Finés
  • Francés
  • Alemán
  • Griego
  • Húngaro
  • Italiano
  • Japonés
  • Coreano
  • Noruego
  • Polaco
  • Portugués
  • Ruso
  • Español
  • Sueco
  • Turco
  • Árabe
  • Rumano
  • Serbio cirílico
  • Serbio latino
  • Eslovaco

Estos son los ajustes de este motor:

  • Idioma: idioma de reconocimiento del texto. Por defecto detectar automáticamente.
  • Detectar orientación de la imagen: si se activa, la API gira automáticamente la imagen correctamente.

Si quieres usar tu propia clave, deberías obtener una clave de suscripción para utilizar la API de Visión Artificial de Microsoft desde el siguiente enlace:

Paso 1: crea una cuenta en el sitio web de Azure

Ten en cuenta que debes crear una clave para la API de visión artificial. Es el primer botón "Obtener clave de API" que encuentras con la navegación de una sola letra. Actualmente Microsoft ofrece la opción de crear una clave de prueba que funciona durante 7 días. También puedes crear una cuenta gratuita de Azure para tener más pruebas. Al registrarse será obligatorio aportar los datos de una tarjeta de crédito. Si ya tienes una cuenta con suscripción, puedes saltarte este paso.

Paso 2: despliega los servicios cognitivos

Ahora tienes una cuenta de Azure.

Primero, inicia sesión en el portal de Azure

Espera hasta que oigas el mensaje "El portal está listo, has iniciado sesión en el portal de Azure".

Busca el enlace llamado "Todos los recursos" después del botón "Todos los servicios" y actívalo.

Espera hasta que oigas el mensaje "La hoja Todos los recursos está lista". El foco se encontrará en un cuadro de edición. Pulsa shift+tab hasta que llegues a un elemento de menú llamado Agregar y actívalo.

Espera hasta que oigas el mensaje "Buscar en marketplace", escribe cognitive services y pulsa flecha abajo.

Espera hasta que oigas el mensaje Lista de opciones Cognitive services 1 de 5, y a continuación pulsa intro.

Espera hasta que oigas el mensaje La hoja Cognitive Services está lista. Pulsa tab o la letra b para buscar un botón llamado Crear y actívalo.

Espera hasta que oigas el mensaje La hoja Crear está lista. El foco estará en un cuadro de edición. Escribe un nombre para el recurso. Ten en cuenta que el nombre del recurso sólo puede incluir caracteres alfanuméricos, '' y '-', y no puede terminar en '' ni '-'.

Yo elijo NVDA_OCR.

Pulsa tab para ir al cuadro combinado de suscripción. Normalmente puedes dejarlo como está.

Pulsa tabulador para ir al cuadro combinado de región. Elige una que se encuentre cerca de tu ubicación actual.

Recuerda esta región, ya que tendrás que especificarla en la configuración del motor.

Pulsa tabulador para ir al cuadro combinado de capa. Normalmente una capa gratuita como f0 es adecuada. Si no es suficiente para ti, puedes elegir otra capa después de leer todos los detalles del precio en el enlace "Ver detalles completos del precio".

Tabula hasta que llegues a un cuadro de edición llamado Crear nuevo grupo de recursos. Deberías crear uno si no tienes ninguno. Busca el botón Crear Nuevo.

Después pulsa tab hasta el botón Crear y actívalo para crear este recurso.

Espera hasta que oigas el mensaje "Despliegue completado_".

Después busca el botón "Ir al recurso". A veces es necesario subir y activar el botón Notificaciones para encontrar este botón.

Espera hasta que oigas el mensaje La hoja Primeros pasos está lista.

Busca el enlace llamado Claves y actívalo.

Espera hasta que oigas el mensaje La hoja Gestionar claves está lista.

Busca un cuadro de edición llamado Clave 1 o Clave 2. El contenido de ese cuadro de edición es la clave de API que se necesita para la configuración del motor. Pulsa ctrl+c para copiarla al portapapeles

A continuación, puedes rellenar estas dos opciones, necesarias si usas tu propia clave de API.

  • Región de recursos de Azure: la región que elegiste al desplegar los servicios cognitivos en el portal de Azure.
  • Clave de API: la clave que obtienes al desplegar con éxito los servicios cognitivos en el portal de Azure, se recomienda la clave 2.

Baidu OCR

Este también ofrece una API de pago con cuota gratuita proporcionada por Baidu.

El OCR de Baidu soporta 10 idiomas, incluyendo

  • Una mezcla entre chino e inglés
  • Inglés
  • Portugués
  • Francés
  • Alemán
  • Italiano
  • Español
  • Ruso
  • Japonés
  • Coreano

Este motor también puede obtener la posición de cada carácter

Aquí están sus ajustes:

  • Obtener posición de cada carácter: permite operar de forma más precisa en algunas aplicaciones inaccesibles. Al activar esta opción el reconocimiento se volverá algo más lento.

  • Usar API precisa: si se habilita usará otro punto de conexión. Esta conexión precisa dura más tiempo, pero tiene mejor calidad y (si usas tu propia clave de API) el precio es más alto.

Tiene cuatro conexiones con límites de cuota separados.

  • OCR básico sin información sobre la ubicación del texto. Actualmente 50000 veces al día.
  • OCR básico con información sobre la ubicación del texto. Actualmente 500 veces al día.
  • OCR preciso sin información sobre la ubicación del texto. Actualmente 500 veces al día.
  • Preciso con información sobre la ubicación del texto. Actualmente 50 veces al día.

Si pulsas el gesto que sólo lee el resultado, usarás conexiones sin información de posición del texto.

Si pulsas el gesto que muestra el visor de resultados, usarás las conexiones que muestran información sobre la ubicación del texto.

Aunque proporciona una cuota gratuita bastante generosa, su sitio web sólo está en chino y no es muy accesible.

Tencent AI OCR

Esta API tiene uso gratuito, con un límite de frecuencia de dos consultas por segundo.

Si quieres sobrepasar el límite, puedes registrar tu propia clave de API. La web de esta API se encuentra sólo en chino y no es muy accesible.

No hay información sobre los idiomas soportados en la documentación de esta API. Según las pruebas realizadas, se soportan el chino, el inglés y una mezcla de ambos.

No hay configuración adicional para esta API.

Registro de cambios

0.19

0.18

  • Compatible con Python 3
  • Se introducen los conceptos de tipo de fuente de reconocimiento y tipo de motor para reducir el uso de gestos.
  • Se añade un gesto nuevo sin asignar para alternar entre los diferentes tipos de fuentes de reconocimiento.
  • Se añade un nuevo gesto sin asignar para alternar entre los diferentes tipos de motores de reconocimiento.
  • Se añade un nuevo gesto para reconocer según los ajustes de fuente de la imagen y tipo de motor.
  • Se añade un nuevo gesto sin asignar para mostrar el resultado anterior en un documento de resultado virtual.

0.17

  • Se han corregido los siguientes problemas:

    • Se salta directamente al panel cuando se cambia a Descriptor de imágenes en línea en el diálogo de opciones
    • Errata de descripción en el analizador de Azure

0.16

  • Se ha añadido un gesto para cancelar el reconocimiento
  • Se han corregido los siguientes problemas:

    • No se anunciaban los cambios de estado en la lista de casillas de verificación
    • Intercambiar el efecto de gestos repetidos no funcionaba en Online Image Describer

0.15

  • Se ha añadido una opción para mostrar una ventana que contiene el mensaje en vez de usar mensajes de voz y braille para el texto de los resultados
  • Las casillas de verificación con las características visuales del analizador de imágenes de Microsoft Azure ahora están en una lista.
  • Se han corregido los siguientes problemas:

    • No se podía cargar un archivo de imagen JPG desde el portapapeles
    • El objeto del documento con el resultado no se mostraba después del reconocimiento.
    • La posición en los objetos del documento de resultados no era fiable si la imagen se redimensionaba internamente.
    • El resultado del analizador de imágenes de Microsoft Azure se mostraba en una línea, complicando la navegación.

0.14

  • Corregidos algunos fallos:

    • No podías usar tu propia clave de API en los motores de Microsoft Azure
    • No se podía obtener el texto del resultado si había una pantalla braille

0.13

  • Ahora el complemento funciona al recargar los plugins sin reiniciar (NVDA+ctrl+f3)

0.12

  • Corregido el mensaje en modo exploración del descriptor de imágenes de Microsoft Azure
  • El tono del color ahora se representa con la descripción de colores de NVDA.
  • Se ha mejorado el formato de resultado del analizador de imágenes de Microsoft Azure
  • Se ha mejorado la documentación a partir de los comentarios de la revisión
  • Corregida inconsistencia de gestos.
  • Ctrl+shift+NVDA para el portapapeles y NVDA+alt para el navegador de objetos
  • Se ha corregido un error de información ausente de imagen mientras se reconocía.

0.11

  • Se ha añadido la capacidad de describir imágenes
  • Se ha cambiado la descripción corta del complemento a Online Image Describer

0.10

  • Corregido un error al utilizar la clave propia de API del usuario en la API de Sougou.
  • Corregido un problema de panel desconocido añadiendo los ajustes a supportedSettings

0.9

  • Corregido un problema que provocaba que no hubiera efecto alguno al realizar una doble pulsación.
  • Se ha revisado la documentación para reflejar los cambios más recientes en el código.
  • Se ha clarificado qué tipo de imágenes del portapapeles se soportan y cómo copiarlas para reconocerlas.
  • Solucionado el problema que impedía abrir el visor de resultados cuando se hacía el reconocimiento desde el portapapeles.
  • Se ha añadido soporte para reconocer una imagen desde una ruta de archivo local copiada al portapapeles.

0.8

  • Se ha añadido un aviso más amigable si el resultado del reconocimiento está vacío.
  • Resuelto otro problema que provocaba un mal funcionamiento si la ruta a los archivos de configuración contiene caracteres no ASCII

0.6

  • Se han añadido opciones de proxy para aquellos usuarios que accedan a Internet a través de un proxy específico.
  • Se han añadido varias opciones generales.
  • Se ha corregido un error de decodificación Unicode causado por el envío de una URL Unicode a urllib3.

0.5

  • Se ha corregido un error Unicode que ocurría si el motor del OCR subía el archivo de imagen directamente en vez de codificarlo en Base64.
  • Modificado el gesto para reconocer el portapapeles a ctrl+NVDA+shift+r, ya que NVDA+shift+r se usa en Word y Excel para definir cabeceras de fila en tablas, o para eliminar las definiciones si se pulsan dos veces.

0.4

  • Se ha corregido un error de instalación que ocurría cuando la ruta a la configuración contenía caracteres no ASCII
  • Se ha cambiado el gesto para evitar una colisión con Golden Cursor.
  • Se ha cambiado el motor por defecto a Microsoft Azure, ya que es capaz de detectar automáticamente el idioma del texto.

0.3

  • Se ha añadido documentación detallada sobre cómo obtener la clave de API del OCR de Microsoft Azure
  • Se ha corregido un problema con las nuevas instalaciones.
  • Eliminado el OCR automático, ya que esta función es problemática y puede resultar confusa con los motores en línea. AutoOCR se liberará como un complemento separado cuando sea suficientemente estable.