- Autor: Larry Wang
- Versión actual: 0.19-dev en desarrollo
- Compatibilidad con NVDA: de 2018.3 a 2020.2
- Ver este complemento en la web de la comunidad internacional
- Descargar versión de desarrollo
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.
- Si eliges «Usar cuota pública», estás usando una cuota gratuita
- 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://azure.microsoft.com/es-es/services/cognitive-services/
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
- Compatible con NVDA 2020.2
- Se ha añadido el OCR de Tencent Cloud, patrocinado por Tencent
Cloud y la Accessibility Research
Association - Se han eliminado el OCR Sougou y el motor de aprendizaje automático de
Oliver Edholm, ya que no están disponibles. - Se corrige la conexión pública al sitio de NVDA en
China
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
- Se salta directamente al panel cuando se cambia a Descriptor de
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
- No se anunciaban los cambios de estado en la lista de casillas de
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
- No podías usar tu propia clave de API en los motores de Microsoft
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.